登录 后可观看高清视频
Solidity/EVM 错误处理
149次播放
2025-07-12
视频 AI 总结: 该视频主要讲解了Solidity/EVM 中错误处理机制,与其他语言不同,EVM 在遇到错误时会回滚所有之前的状态变更,除非错误被程序处理。Solidity 提供了几种错误处理方式,包括抛出错误让 EVM 回滚,以及使用 try-catch 捕获外部调用产生的错误。
关键信息:
- EVM 的错误处理机制具有原子性,要么全部成功,要么全部失败,不会出现中间状态。
- Solidity 中可以使用
require和assert进行条件检查,条件不满足时会抛出异常。 assert用于代码不应该到达的状态,而require用于检查外部条件。- 抛出错误时可以指定字符串或自定义错误类型,自定义错误类型 Gas 消耗更低。
try-catch只能用于捕获外部调用产生的错误,不能捕获合约内部的错误。try-catch无法捕获 out-of-gas 错误和调用不存在合约的错误。