我是否可以强迫更改变量的值,而不注意require语句?例如,我有下一个代码:
contract_runs = contract_runs + 1;
success = exchange();
require(success);我希望exchange函数启动的更改仅在success是true的情况下应用,但无论该变量的值如何,都要增加contract_runs。
发布于 2021-02-22 00:54:36
如果exchange在另一个契约中,您可以使用try/catch。
try anotherContract.exchange() {
// succeeded
}
catch (bytes memory err) {
// failed
}如果是在相同的契约中,您可以使用this.exchange(),只需知道它将更改msg.sender,并要求exchange是公共的或外部的。
https://ethereum.stackexchange.com/questions/93771
复制相似问题