Throw

发生错误时发出信号. 此信号可以被 Try-Catch 语句捕获.

Throw Value

参数

Value

要抛出的值; 通常是一个 Error 对象. 例如:

throw ValueError("Parameter #1 invalid", -1, theBadParam)

所有类型的值都可以被抛出, 但是如果使用 Catch 而不指定一个类(或者使用 Try 而不使用 CatchFinally), 它将只捕获 Error 类的实例.

当在 Catch 中执行时, 可以省略 Value 来重新抛出捕获的值(避免仅为此目的指定一个输出变量). 这甚至在嵌套的 Try-Finally 中也支持, 但在嵌套的 Try-Catch 中不支持. 带有 Throw 的行不需要被 Catch 语句的主体所包含; 它可以被调用的函数所使用.

备注

如果表达式被括在括号中, 则 throw 后的空格或制表符是可选的 , 如 throw(Error()) 所示.

一个抛出的值或运行时错误可以被 Try-Catch 捕获. 在这种情况下, 执行被转移到 catch 语句或 try 之后的下一个语句. 如果一个抛出的值没有被捕获, 会发生以下情况:

Error 对象, Try, Catch, Finally, OnError

示例

请参阅 Try.