跳至主要内容
此页面是从英文翻译而来的。请注意,与原始页面相比,可能会出现错误或差异。真实的文档来源应始终是英文版本。

断言

像每个程序一样,可能会出现错误,并且必须验证用户输入。EOS++ 提供了一种明确的方法来做到这一点。

恢复状态

断言是一种检查条件是否为真的方法,如果不是,则事务将失败。交易时 失败,事务中发生的所有状态更改都将被回滚。这意味着,任何改动都是 持久的数据/表将被恢复,就好像事务从未发生过一样。

查看

那个 check 函数是在 EOS++ 中验证条件的方式。 该函数将检查指定的条件是否为真,如果不是,则事务将失败。

check(1 == 1, "1 should equal 1");

的接口 check 函数只需要一个条件和 string 消息。如果条件为假,则消息 将作为错误抛出,事务将恢复。

记录非字符串

从那时起 check 函数需要一个 string 消息,你可能想知道如何记录非字符串。 这取决于您要记录的数据类型,但以下是一些常见的示例:

日志 name

name thisContract = get_self();
check(false, "This contract is: " + thisContract.to_string());

日志 asset

asset myAsset = asset(100, symbol("EOS", 4));
check(false, "My asset is: " + myAsset.to_string());

记录整数

int myInt = 100;
check(false, "My int is: " + std::to_string(myInt));