错误处理

如果在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