错误处理
错误处理
功能
错误处理用于在脚本中主动抛出错误,并在外层捕获后继续执行。throw 会立即中断当前执行流,直到被最近的 catch 捕获;如果没有任何 catch,程序会以未捕获异常终止。
语法
try { // 可能抛出错误的代码 } catch e { // e 是错误信息 } throw 'fatal'
参数
-
try:包裹需要捕获错误的代码块。 -
catch e:捕获try中抛出的错误,e是接收错误信息的变量名。 -
throw value:抛出任意表达式的值,常见用法是抛出字符串错误信息。
返回值
try/catch 也可以作为表达式使用。没有抛错时返回 try 代码块最后一条语句的值;捕获错误时返回 catch 代码块最后一条语句的值。
代码示例
result = try { throw 'fatal' 'ok' } catch e { 'caught: ' + e } // 输出:caught: fatal print result
注意事项
-
throw后面的同级代码不会继续执行。 -
throw可以穿过函数调用向外传播,直到被外层catch捕获。 -
catch变量按普通可变变量处理;当前 BT 没有块级作用域,因此不要在同一作用域中复用容易混淆的变量名。 - 未捕获的
throw会终止程序,并显示未捕获异常信息。