Catch [v1.1.04+]

优质
小牛编辑
130浏览
2023-12-01

指定在执行 try 语句发生异常时执行的代码。

Catch [, OutputVar]
    Statement
Catch [, OutputVar]
{
    Statements
}

参数

OutputVar

(可选) 用来存储异常值的变量名称.

Statement(s)

发生异常时执行的命令或表达式.

备注

每次使用 catch 都必须附属于 (与之关联) 它上面的 try 语句. catch总是附属于在它上面且离它最近的无主try语句,不过可以使用区块改变这种行为。

可以使用 One True Brace (OTB) 风格. 例如:

try {
    ...
} catch e {
    ...
}

运行时错误

try-catch 语句同样可以用来处理运行时错误. 有两类的运行时错误:设置 ErrorLevel 的那些和在显示错误消息后会让当前线程退出的那些。无法处理加载时错误,因为它们在 try 执行前已经发生了。为了能够向后兼容(及在一些时候的方便),在执行 try 区块产生运行时错误时才会抛出异常。大部分命令支持 try-catch;不过当命令执行成功时 ErrorLevel 仍然被置为 0。

存储在OutputVar(如果存在)中的值是包含下列字段的异常对象

What: 错误发生时正在或即将执行的命令或函数的名称.

File: 包含发生错误的语句的脚本文件的完整路径.

Line: 发生错误的语句行号.

Message:错误消息或 ErrorLevel 值。

Extra: 可用时包含错误的额外信息.

注意: 这些细节应该仅用于调试, 因为它们可以在将来的版本中改变.

相关

Try, Throw, Finally, Blocks

示例

请参阅 Try.

最后更新:

类似资料

  • 守护一个或多个语句(命令或表达式)以防备由 throw 命令抛出的运行时错误和异常。 Try Statement Try { Statements } 备注 try 命令后常跟着 区块 - 括在大括号中的一个或多个语句 (命令或表达式). 如果仅需执行单个语句, 那么此语句可以和 try 放在同一行或在其下一行, 并且大括号可以省略. 要指定仅在 try 捕获到错误时执行的代码, 请使用

  • 发出错误发生的信号。此信号可以被 try-catch 语句捕获。 Throw [, Expression] 参数 Expression 要保存到 catch 的 OutputVar 中的值. 由于此参数为 表达式, 所以下面所有的都是有效的例子: throw 3 throw "literal string" throw MyVar throw i + 1 throw { what: "Custom

相关阅读