📅  最后修改于: 2020-11-02 04:04:58             🧑  作者: Mango
Rexx能够像其他编程语言一样处理错误。
以下是Rexx中出现的各种错误条件。
错误-每当发送到操作系统的命令导致错误时,甚至会引发此错误。
失败-每当发送到操作系统的命令导致失败时,甚至会引发此错误。
HALT-通常在一个操作依赖于另一个操作时会升高。一个示例是是否由于任何原因暂停了I / O操作。
NOVALUE-未将值分配给变量时引发此事件。
NOTREADY-任何不准备接受任何操作的I / O设备都会引发此事件。
语法-如果代码中有任何语法错误,则会引发此事件。
LOSTDIGITS-当算术运算导致运算期间数字丢失时,引发此事件。
通过信号命令可以捕获错误。让我们看一下语法和一个示例。
signal on [Errorcondition]
哪里,
Errorcondition -这是这是上面给出的错误条件。
让我们来看一个例子。
/* Main program */
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.
以下程序显示了错误代码的示例。
/* Main program */
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