Catch

AutoHotKey

Catch [v1.1.04+]

指定在执行 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 (如果存在)中的值是一个 exception 对象.

Related

Try, Throw, Finally, Blocks

示例

请参阅 Try.