Solidity错误处理及异常:Assert, Require, Revert和Exceptions
Solidity使用状态恢复异常来处理错误。这种异常将撤消对当前调用(及其所有子调用)中的状态所做的所有更改,并且还向调用者标记错误。如果异常在子调用发生,那么异常会自动冒泡到顶层(异常会重新抛出)。除非它们在try/catch语句中被捕获。但是如果是在send和底层函数(low-levelfunctions)如:call,delegatecall和staticcall的调用里发生异常时,他们会返