Rexx-エラー処理

Rexxには、他のプログラミング言語と同様にエラー処理にも取り組む機能があります。

以下は、Rexxで見られるさまざまなエラー状態の一部です。

  • ERROR −これは、オペレーティングシステムに送信されたコマンドがエラーになるたびに発生します。

  • FAILURE −これは、オペレーティングシステムに送信されたコマンドが失敗するたびに発生します。

  • HALT−これは通常、操作が別の操作に依存している場合に発生します。例としては、何らかの理由でI / O操作が停止されている場合があります。

  • NOVALUE −このイベントは、値が変数に割り当てられていない場合に発生します。

  • NOTREADY −これは、操作を受け入れる準備ができていないI / Oデバイスによって発生します。

  • SYNTAX −このイベントは、コードに構文エラーがある場合に発生します。

  • LOSTDIGITS −このイベントは、算術演算の結果、演算中に桁が失われた場合に発生します。

トラップエラー

エラーは、signalコマンドを使用してトラップされます。構文とその例を見てみましょう。

構文

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