MC-Basic:ONSYSTEMERROR/zh-hans
语言: | English • 中文(简体) |
---|
缩写
格式
Program 'Beginning of program <Code> OnSystemError 'Start of OnSystemError block {catch <error number X> <code to execute when error X occurs>} {catch <error number Y> <code to execute when error Y occurs>} catch else <code to execute for all other errors>} End OnSystemError 'End of OnSystemError block<br> <Code> End Program 'End of program
适用版本
所有版本
描述
ONSYSTEMERROR语句用于捕获和处理系统中的错误。 它是由TRY,ONERROR和ONSYSTEMERROR的组合形成的层次错误处理结构的上层。
ONSYSTEMERROR写在任务的任务中,但系统中只能存在一个实例。它用于捕获所有任务中的同步和异步错误,以及在系统上下文中发生的错误。
同步错误由用户任务引起,并由解释器检测到,而异步错误与特定的程序代码行无关。例如位置跟随误差。
系统错误与特定任务无关。如由于外部力施加到任务未调用到的轴而发生的位置跟随错误。
当错误被捕获时,指定的错误处理代码被执行并且任务被停止,任务状态变为4,可以通过输入CONTINUETASK命令来恢复任务执行。
ONSYSTEMERROR用于捕获未被TRY或ONERROR捕获的错误,然后它将被用于执行系统的有序关闭或有序的恢复。
NOTE | |
SYNCHRONOUS错误会导致任务停止,可以通过“onerror”获取,然后通过"continuetask"继续执行。 ASYNCHRONOUS错误不会停止任务,即使它被"onsystemerror"获取,所以任务会继续执行。 |
类型
取值范围
单位
默认
使用范围
Task
限制
只允许一个ONSYSTEMERROR在系统中出现。
例子
OnSystemError catch 12055 'catch Missing SERCOS telegram error Print "Missing telegram(s): communication interrupted" End OnSystemError