Throw [v1.1.04+]

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

发出错误发生的信号。此信号可以被 try-catch 语句捕获。

Throw [, Expression]

参数

Expression

要保存到 catch 的 OutputVar 中的值.

由于此参数为 表达式, 所以下面所有的都是有效的例子:

throw 3
throw "literal string"
throw MyVar
throw i + 1
throw { what: "Custom error", file: A_LineFile, line: A_LineNumber } ; 抛出 对象

此参数总是为表达式, 所以变量引用不应该括在 百分号 中, 除非执行 展开双重引用.

[v1.1.05+]:如果省略,则抛出带默认消息的 Exception 对象。

Exception(Message [, What, Extra])

创建 Exception 对象.

如果省略 What, 则它默认为当前函数或子程序的名称. 否则它可以为字符串或到调用堆栈顶部的负偏移. 例如, 使用值 -1 来设置 Exception.What 为当前函数或子线程名称, 且设置 Exception.Line 为调用它的行号.

try
    BadlyCodedFunc()
catch e
    MsgBox % "Error in " e.What ", which was called at line " e.Line 

BadlyCodedFunc() {
    throw Exception("Fail", -1)
}

相关

Try, Catch, Finally

示例

请参阅 Try.

最后更新:

类似资料

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

  • 指定在执行 try 语句发生异常时执行的代码。 Catch [, OutputVar] Statement Catch [, OutputVar] { Statements } 参数 OutputVar (可选) 用来存储异常值的变量名称. Statement(s) 发生异常时执行的命令或表达式. 备注 每次使用 catch 都必须附属于 (与之关联) 它上面的 try 语句. c

相关阅读