THROW 语句会引发运行时异常。
THROW [expression]
expression | 要抛出的可选表达式。 |
THROW 会抛出运行时异常,导致执行分支到 TRY 结构中最近的 CATCH 或 FINALLY 块。如果执行不在 TRY 结构中,应用程序将终止。
指定的表达式将传递给 CATCH 语句(如果有),并且必须是 System.Exception 类型或由其派生的类。更多信息请参阅 TRY-CATCH-FINALLY。
在 CATCH 代码块中使用 THROW 语句而不带任何参数,将重新抛出异常,并将其原封不动地传递给下一个最高的 TRY-CATCH 代码块。
USING System.IO
FUNCTION ReadFile( filename AS STRING ) AS STRING
LOCAL s AS STRING
TRY
s := File.ReadAllText( filename )
CATCH e AS DirectoryNotFoundException
? "未找到目录", e
CATCH e AS IOException
? "发生 IO 异常", e
CATCH e AS UnauthorizedAccessException
? "访问被拒绝", e
CATCH
? "其他例外情况"
// 将错误升级到下一个 TRY-CATCH
THROW
FINALLY
? "全部完成!"
END TRY
RETURN s