异常的产生与处理原语
| 操作码 | Fift 语法 | 堆栈 | Gas | 描述 | 
|---|---|---|---|---|
| Please enter a search query | ||||
| No results found | ||||
TVM 指令内容列表
异常产生与处理原语
| xxxxxxx 操作码 | xxxxxxxxxxxxxxxxxxxxxxxxxxxx Fift 语法 | xxxxxxxxxxxxxxxxx 堆栈 | xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 描述 | xxxx Gas | 
|---|---|---|---|---|
| F22_n | [n] THROW |  - 0 n | 抛出参数为零的 0 <= n <= 63异常。换句话说,它将控制权转移到 c2中的continuation,将0和n推入其堆栈,并彻底丢弃旧堆栈。 | 76 | 
| F26_n | [n] THROWIF | f -  | 只有当整数 f!=0时,才抛出参数为零的0 <= n <= 63异常。 | 26/76 | 
| F2A_n | [n] THROWIFNOT | f -  | 只有当整数 f=0时,才抛出参数为零的0 <= n <= 63异常。 | 26/76 | 
| F2C4_n | [n] THROW | - 0 nn | 对于 0 <= n < 2^11,是[n] THROW的编码,用于n的较大值。 | 84 | 
| F2CC_n | [n] THROWARG | x - x nn | 抛出带有参数 x的0 <= n <  2^11异常,通过将x和n复制到c2的堆栈并将控制权转移给c2。 | 84 | 
| F2D4_n | [n] THROWIF | f -  | 对于 0 <= n < 2^11,是[n] THROWIF的编码,用于n的较大值。 | 34/84 | 
| F2DC_n | [n] THROWARGIF | x f -  | 只有当整数 f!=0时,才抛出带有参数x的0 <= nn < 2^11异常。 | 34/84 | 
| F2E4_n | [n] THROWIFNOT | f -  | 对于 0 <= n < 2^11,是[n] THROWIFNOT的编码,用于n的较大值。 | 34/84 | 
| F2EC_n | [n] THROWARGIFNOT | x f -  | 只有当整数 f=0时,才抛出带有参数x的0 <= n < 2^11异常。 | 34/84 | 
| F2F0 | THROWANY | n - 0 n | 抛出参数为零的 0 <= n < 2^16异常。大致相当于 ZEROSWAPTHROWARGANY。 | 76 | 
| F2F1 | THROWARGANY | x n - x n | 抛出带有参数 x的0 <= n < 2^16异常,将控制权转移到c2中。大致相当于 c2 PUSHCTR2 JMPXARGS。 | 76 | 
| F2F2 | THROWANYIF | n f -  | 只有当 f!=0时,才抛出参数为零的0 <= n < 2^16异常。 | 26/76 | 
| F2F3 | THROWARGANYIF | x n f -  | 只有当 f!=0时,才抛出带有参数x的0 <= n<2^16异常。 | 26/76 | 
| F2F4 | THROWANYIFNOT | n f -  | 只有当 f=0时,才抛出参数为零的0 <= n<2^16异常。 | 26/76 | 
| F2F5 | THROWARGANYIFNOT | x n f -  | 只有当 f=0时,才抛出带有参数x的0 <= n<2^16异常。 | 26/76 | 
| F2FF | TRY | c c' -  | 设置 c2为c',首先将c2的旧值同时保存到c'的保存列表和当前continuation的保存列表中,该当前continuation存储到c.c0和c'.c0中。然后类似于EXECUTE运行c。如果c没有引发任何异常,从c返回时会自动恢复c2的原始值。如果发生异常,则执行权转移到c',但在此过程中恢复了c2的原始值,以便c'可以通过THROWANY重新抛出异常(如果它自己无法处理)。 | 26 | 
| F2FF | TRY:<{ code1 }>CATCH<{ code2 }> | - | 等效于 <{ code1 }> CONT<{ code2 }> CONTTRY。 | |
| F3pr | [p] [r] TRYARGS | c c' -  | 类似于 TRY,但内部使用的是[p] [r] CALLXARGS而不是EXECUTE。这样,顶部 0 <= p <= 15堆栈元素以外的所有元素将保存到当前continuation的堆栈中,然后从c或c'返回时恢复,并将c或c'的结果堆栈的顶部0 <= r <= 15值作为返回值复制。 | 26 |