OnErr
用于设置发生错误时将控制分支给错误处理子例程的中断。这样用户就可处理错误。
格式
OnErr GoTo { 标签 | 0}
参数
- 标签
- 指定发生错误时移交目标的语句标签。
- 0
- 指定清除OnErr设置的参数。
说明
用户可利用OnErr进行错误处理。如果未使用OnErr,发生错误时任务则会被中止,并显示错误。而如果使用OnErr,则可将控制移交给错误处理子例程,以便自动从错误恢复过来。错误恢复之后,控制移交给由EResume命令指定的返回目标。这样,即使发生错误,也可以自动进行错误处理,不必中断任务的执行。另外,由于始终按相同的方式自动处理容易复杂化的问题,因此,可更顺利地发挥工作单元的作用。
利用OnErr命令指定并设置参数“0”时,当前的OnErr设置则被清除。(执行OnErr 0之后,如果发生错误,则停止执行程序。)
参阅
Err、EResume
OnErr使用示例
在如下所示的简单实用程序示例中,检查点数据P0-P399是否存在。如果不存在点数据,画面中则会显示“该点不存在”的信息。该程序使用CX命令来测试是否定义了点。如果未定义,则将控制移交给错误处理子例程,并在画面中显示未定义的点。
Function errDemo
Integer i, errNum
OnErr GoTo errHandler
For i = 0 To 399
temp = CX(P(i))
Next i
Exit Function
'
'
'*********************************************
'* Error Handler *
'*********************************************
errHandler:
errNum = Err
'确认是否使用未定义点
If errNum = 7007 Then
Print "Point number P", i, " is undefined!"
Else
Print "ERROR: Error number ", errNum, " occurred while"
Print " trying to process point P", i, " !"
EndIf
EResume Next
Fend