错误处理
如果在SPEL+函数中发生错误,可以将执行转到错误处理例程中进行错误处理。该例程必须在函数定义内。
下一页的表格显示了用于错误处理的程序指令。
项目 | 描述 |
---|---|
OnErr | 定义错误处理例程的位置。 |
Err | 检索当前错误状态的编号。在错误处理例程中使用此编号可以确定发生了哪个错误。 |
Error | 生成一个可被错误处理程序捕获的用户定义的错误。 |
Era | 检索发生错误的轴号。这通常用于错误处理例程中。 |
Erl | 检索发生错误的行号。这通常用于错误处理例程中。 |
Ert | 检索发生错误的任务号。这通常用于错误处理例程中。 |
ErrMsg$ | 检索与指定的错误号相关的错误消息。 |
Errb | 检索发生错误的机器人编号。这通常用于错误处理例程中。 |
用户错误
您可以使用Tools菜单中提供的User Error Editor来定义您自己的错误信息。有关详细信息,请参阅以下内容。
示例:
以下例子显示了简单的错误处理例程。发生错误时,程序执行转到ErrHandler标签,启动错误处理程序。显示错误号并询问操作员是否继续。如果操作员输入“N”,则该程序执行Quit All语句来结束该程序。
Function Main
String cont$
Integer i
OnErr Goto Errhandler
For i = 1 To 10
Jump P(i)
Next i
Exit Function
' *** 错误处理 ***
Errhandler:
enum = Err
Print "Error #", enum, " occurred"
Print "Continue (Y or N)?"
Line Input cont$
Select cont$
Case "y", "Y"
EResume Next
Default
Quit All
Send
Fend