10 solidity call调用返回

请问通过call调用第三方合约的方法,第三方合约方法内部revert会导致我的整个调用revert吗?

    (bool success,) = toContract.call(input);
     if (success==false) {
        // handle             
     }

类似这种调用方式,第三方合约内部revert不是会返回success=FALSE吗?但我遇到了整个调用直接revert的场景,想知道什么时候会出现这种情况?

请先 登录 后评论

最佳答案 2022-12-11 20:42

使用底层的 call 调用, 不会 revert , 试试会返回 false。

如果是普通调用函数, 类似: externalContract.Func(a), 如果外部调用发生异常(revert)时, 那么 整个调用链同样会revert.

请先 登录 后评论

其它 1 个回答

Meta - 风是自由的,你也是
请先 登录 后评论
  • 2 关注
  • 0 收藏,2425 浏览
  • 提出于 2022-12-10 23:22