📜  Rexx-错误处理

📅  最后修改于: 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