Rexx-error-handling
提供:Dev Guides
Rexx-エラー処理
Rexxには、他のプログラミング言語と同様に、エラー処理にも取り組む能力があります。
以下は、Rexxで見られるさまざまなエラー状態の一部です。
- ERROR -オペレーティングシステムに送信されたコマンドがエラーになった場合はいつでも発生します。
- FAILURE -これは、オペレーティングシステムに送信されるコマンドが失敗に終わるたびに発生します。
- HALT -これは通常、操作が別の操作に依存している場合に発生します。 例は、何らかの理由で入出力操作が停止されている場合です。
- 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