ILE RPG 例外処理
ILE RPG は、次の 4 つの例外処理メカニズムを提供します。
- エラー標識、または 'E' 命令コード拡張処理プログラム
- MONITOR グループ
- エラー処理サブルーチン処理プログラム
- デフォルトの例外処理プログラム
RPG では例外はプログラムとファイルの 2 つに分類されています。これによっ て呼び出されるエラー処理サブルーチンのタイプが決定されます。 プログラム例外の例として、ゼロによる除算、範囲外配列指標、負数の SQRT があります。ファイル例外の例としては未定義のレコード・タイプや装置エラーなどがあり ます。
RPG が例外を処理するように指示する方法は 5 つあります。
それらは次のとおりです。
- 該当する命令コードの演算仕様書の 73 ~ 74 桁目にエラー標識を指定する。
- 適切な命令コードに命令コード拡張 'E' を 指定する。
- 例外を生成するコードを MONITOR グループの中に組み込む。
- ファイル例外について、ファイル仕様書の INFSR キーワードによって定義さ れるファイル・エラー処理サブルーチンをコーディングする。 ファイル・エラー・ サブルーチンは、ファイルと同じ有効範囲でコーディングする必要があります。 サイクル・モジュール内のグローバル・ファイルは、サイクル・メイン・プロシージャー内にサブルーチンを持つ必要があり、ローカル・ファイルはファイルと同じサブプロシージャー内にサブルーチンを持つ必要があります。 サブプロシージャーで使用されるグローバル・ファイルには INFSR をコーディングすることはできません。
- プログラム例外について、*PSSR という名前の プログラム・エラー処理サブルーチンをコーディングする。*PSSR は、それがコーディングされているプロシージャーに対して固有で あることに注意してください。 これはメイン・プロシージャーの *PSSR が、メイン・プロシージャーに関連した プログラム・エラーだけを処理することを意味しています。 同様に、サブプロシージャーの *PSSR はサブプロシージャーのエラーだけを処 理します。