Rexx - 错误处理


Rexx 还能够像其他编程语言一样进行错误处理。

以下是 Rexx 中出现的一些各种错误情况。

  • ERROR - 每当发送到操作系统的命令导致错误时,都会引发此错误。

  • FAILURE - 当发送到操作系统的命令导致失败时,甚至会引发此错误。

  • HALT - 当一个操作依赖于另一个操作时,通常会引发此错误。例如,如果 I/O 操作因任何原因而停止。

  • NOVALUE - 当值尚未分配给变量时引发此事件。

  • NOTREADY - 这是由任何未准备好接受任何操作的 I/O 设备引发的。

  • SYNTAX - 如果代码中存在任何语法错误,则会引发此事件。

  • 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