Solidity 常见错误盘点
每位合约开发者都会经历从「报错让我抓狂」到「报错让我安心」的转变。报错是代码在帮你修 bug,关键是读懂它在说什么。本文按层次分类,盘点最容易遇到的错误并给出修复方法。这对处理 Binance 上挂牌项目的开发与维护同样适用。
一、编译时常见错误
TypeError: Member not found 通常是因为忘记 import 接口或继承。修复方法是检查 import 路径,确认接口包含被调用的函数。Identifier not found 则是变量未定义,可能是拼写错误,也可能是 scope 写错。
另一个高频是 explicit conversion 错误:address 不再隐式转 payable,必须写 payable(addr);bytes 与 string 之间也要显式转换。Solidity 故意强约束类型,是为了让边界更清晰。这种严格类型检查在 币安 等大平台对合约的尽调中是一种隐性加分项。
二、运行时常见 revert
Arithmetic over/underflow(0.11 之后由 0.8 编译器自动 revert)通常意味着输入超出预期范围。修复时检查输入边界、用 require 给出明确错误信息。
147 赞同