【发布时间】:2021-06-27 20:41:51
【问题描述】:
我有一个关于修饰符、需求和功能流程的问题。
这里有一个简单的例子来说明我的观点。
contract Numbers {
uint256[] private _numbers;
modifier bigNumber(uint256 someNumber) {
require(someNumber > 10, "Numbers: Number must be greater than 10");
_;
}
function _addNumber(uint256 someNumber) private bigNumber(someNumber) {
_numbers.push(someNumber);
}
function addNumbers(uint256[] memory _newNumbers) external {
for (uint256 i = 0; i < _newNumbers.length; i++) {
_addNumber(_newNumbers[i]);
}
}
}
假设我用addNumbers([11, 12, 13, 8, 20, 21, 5, 22, 23]);调用这个函数
当它达到 8 时我会收到一个错误。
有没有办法使用以下值继续运行函数?
我之前想过添加一个if 来“捕获”错误,但也许有更好的方法。
提前致谢!
【问题讨论】:
标签: ethereum solidity smartcontracts hardhat