Rexx - 错误处理
Rexx 还能够像其他编程语言一样进行错误处理。
以下是 Rexx 中出现的一些各种错误情况。
ERROR − 每当发送到操作系统的命令导致错误时,甚至会引发此错误。
FAILURE − 每当发送到操作系统的命令导致失败时,就会引发此事件。
HALT − 当一个操作依赖于另一个操作时,通常会引发此错误。 例如,如果 I/O 操作因任何原因而停止。
NOVALUE − 当值尚未分配给变量时会引发此事件。
NOTREADY − 这是由任何未准备好接受任何操作的 I/O 设备引发的。
SYNTAX − 如果代码中存在任何语法错误,则会引发此事件。
LOSTDIGITS − 当算术运算导致运算期间数字丢失时,将引发此事件。
捕获错误
借助信号命令捕获错误。 让我们看一下语法和示例。
语法
signal on [Errorcondition]
其中,
Errorcondition − 这是上面给出的错误情况。
示例
让我们看一个关于此的示例。
/* 主程序 */ signal on error signal on failure signal on syntax signal on novalue beep(1) signal off error signal off failure signal off syntax signal off novalue exit 0 error: failure: syntax: novalue: say 'An error has occured'
在上面的例子中,我们首先打开错误信号。 然后我们添加一条会导致错误的语句。 然后,我们使用错误陷阱标签来显示自定义错误消息。
上述程序的输出如下所示。
An error has occurred.
以下程序显示了错误代码的示例。
/* 主程序 */ signal on error signal on failure signal on syntax signal on novalue beep(1) exit 0 error: failure: syntax: novalue: say 'An error has occured' say rc say signal
上述程序的输出如下所示。
An error has occured 40 6