# 异常处理
本文档介绍了您如何在OpenEX处理运行时异常
有关异常类型的详细信息,请前往对照表
# 接住异常
在OpenEX中,你需要使用try
catch
语句来处理运行时发生的异常
该语句更新于
Pro v0.1.7
在此之前,OpenEX无法在用户脚本中处理运行时异常
以下是如何定义一套try
catch
语句的例子
try {
/* 可能发生异常的代码 */
}catch 异常类型 信息变量名,调用栈结构变量名 {
/* 异常处理代码 */
}
1
2
3
4
5
2
3
4
5
- 异常类型: 参考对照表 中异常类型名
- 信息变量名:
STRING
类型的变量, 存储了异常被抛出的信息 - 调用栈结构变量名:
ARRAY
类型的数组, 存储调用栈信息
提示
一个标准处理ILLEGAL_ACCESS_EXCEPTION
异常的代码实例
try{
/* 假设该段代码一定会发生ILLEGAL_ACCESS_EXCEPTION异常
* 异常信息与调用栈结构以实际为准
*/
}catch ILLEGAL_ACCESS_EXCEPTION message , stack {
system.print(message);
system.print(stack);
}
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
您会在终端看到以下输出
Not found arg.
[debug.main, loader.boot]
1
2
2
# 抛出异常
OpenEX也支持您主动在用户脚本中抛出异常,您需要throw
语句来抛出您的异常
以下是throw
语句的标准格式
throw 异常类型 : 异常信息 ;
1
- 异常类型: 参考对照表 中异常类型名
- 异常信息: 您要显示的异常信息
异常信息可以是一段表达式,也可以是字符串组合
不能为数组类型
但最终都会被转换成STRING
类型的信息
提示
一个标准抛出ILLEGAL_ACCESS_EXCEPTION
异常的代码实例
throw ILLEGAL_ACCESS_EXCEPTION:"Not found arg" + (1+3);
1
您会在终端看到以下输出
ScriptRuntimeError: Not found arg4
ThreadName: main
FileName: debug.exf
Exception: ILLEGAL_ACCESS_EXCEPTION
Edition: OpenEX Pro
Version: v0.1.7
Call stack struct:
at <debug.exf>: debug.main(User Script)
at <debug.exf>: loader.boot(Script Loader)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9