【Solidity】Error错误处理
- Error和Event一样,先定义再使用
- Error必须和Revert配合使用
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
contract test {
error Unauthorized(string errorMsg,address _address);
address public immutable owner;
uint public balance = 0;
constructor(){
owner = msg.sender;
}
function changeBalance(uint updateBalanceNumber) public {
if(owner!=msg.sender){
revert Unauthorized("not owner",msg.sender);
}
balance = updateBalanceNumber;
}
}
一单不是owner的话就会报错,以下是报错信息

![]()
Facebook评论