Payments
為什麼發送返回一個布爾值
當從智能合約中提取資金時,發送返回一個布爾值
function withdrawFromContract(uint amount) onlyOwner returns(bool success) { if(amount > this.balance) throw; // not enough money if(msg.sender.send(amount)) { LogWithdrawal(amount); return true; } else { throw; } }
什麼情況下send return false?
<address>.send(amount)
發送失敗時返回 falseamount
。例如,如果您沒有檢查this.balance
大於的行amount
,您可能會不小心嘗試發送超過合約有權訪問的內容,在這種情況下,函式將返回false
。您可以在此處閱讀solidity 文件獲得更多見解。