Move 基础语法 -- 终止与断言
Aptos Eden
2022-08-31 13:57
订阅此专栏
收藏此文章

Move 基础语法 -- 终止与断言



abort:

abort:abort 是一个带有参数的关键字,其参数类型为 u64 可自定义的错误编码。


应用场景:当执行错误或者执行终止时,我们通常需要返回一个错误编码,来告知具体问题,并且需要终止代码执行以及恢复事务。


语法:abort 错误编码。


作用:终止执行,恢复事务。


简单案例:
当传递的参数大于 10 时,终止代码执行,并且返回自定义错误编码 1024。


script {    use 0x1::Debug;    fun test_abort(a: u64){        let b = 10;        if (a > 10) abort 1024;        Debug::print(&b);    }}


assert:

assert:assert 是一个内置方法,是对 abort 进行了封装。


语法:assert ! (cond, code)
Cond: 条件类型为 bool;
Code:类型为 u64;


作用:当 cond 条件不为真时,终止执行,恢复事务,并且返回 code 错误编码,反之将不执行任何操作。


代码:

script {    fun test_abort(a: u64){        assert!(a == 1, 0);        Debug::print(&a);    }}


代码解读:
当变量 a 等于 1 时,判断为真,则不会执行 assert 方法。并且继续执行 assert 方法后的代码,打印 a;
当变量 a 不等于 1 时,判断为假,则会终止执行,恢复事务,并且会发挥 assert 中的 code 错误编码。


动动手,敲敲吧!!!



【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

Aptos Eden
数据请求中
查看更多

推荐专栏

数据请求中
在 App 打开