条件异常
Solidity 是通过回退状态的方式来处理异常错误。发生异常时会撤消当前调用及其所有子调用所改变的状态,同时给调用者返回一个错误标识。
常见的异常处理
- require:require 函数用来输入变量或合约状态变量是否满足条件以及验证调用外部合约返回值。可以有返回值 require(condition, ‘Something bad happened’);
- assert:assert 函数用来检查(测试)内部错误。
同样作为判断一个条件是否满足的函数,require 会退回剩下的 gas,而 assert 会消耗所有的 gas。
pragma solidity ^0.8.0;
contract GuessChallenge {
bool public flag;
function setFlag() external {

本文详细介绍 Solidity 中的异常处理机制,包括require、assert和revert函数的使用场景,以及try...catch在处理外部合约调用异常的应用。理解这些概念有助于避免智能合约中的错误和状态回滚。
最低0.47元/天 解锁文章
626

被折叠的 条评论
为什么被折叠?



