0

我有一个功能可以检查给定的令牌是否具有 Uniswap 工厂地址:

address possibleFactoryAddress;
try IUniswapV2Pair(token).factory() returns (address factory) {
    possibleFactoryAddress = factory;
} catch {}

现在这段代码运行良好 -catch如果给定的令牌没有通过其factory()函数返回地址(正确地因为它没有该函数),则该块将被执行。然而,当 tx 在 Etherscan 上显示时,它上面有一个大大的黄色感叹号和一个可怕的警告:

Although one or more Error Occurred [execution reverted] Contract Execution Completed

我知道代码没有问题,tx 完成而没有恢复并且所有状态更改都正确存储,但是 Etherscan 是否有可能不显示这个大警告?恐怕这会让很多非技术人员感到困惑并吓跑他们。

谢谢你。

4

0 回答 0