在Solidity中,使用if()和require()有什么区别?

Jos*_*man 2 conditional blockchain solidity

我可以在条件if语句中运行代码。在运行一些代码之前,我还可以要求一个条件。它们是可互换的,还是有我选择一个而不是另一个依赖的原因?

Ada*_*nis 5

不,它们不可互换。

if条件为假时,将执行下一个条件/块,并运行else块(如果有)。标准的if / else编程逻辑。

require是错误处理语句。当require条件为假时,所有执行将停止并且事务将回滚。

有关错误处理的更多信息以及该错误与其他错误处理功能(例如和)之间的区别,请参见Solidity文档中的错误处理。requireassertrevert