ILE RPG 例外処理

ILE RPG は、次の 4 つの例外処理メカニズムを提供します。
  • エラー標識、または 'E' 命令コード拡張処理プログラム
  • MONITOR グループ
  • エラー処理サブルーチン処理プログラム
  • デフォルトの例外処理プログラム

RPG では例外はプログラムとファイルの 2 つに分類されています。これによっ て呼び出されるエラー処理サブルーチンのタイプが決定されます。 プログラム例外の例として、ゼロによる除算、範囲外配列指標、負数の SQRT があります。ファイル例外の例としては未定義のレコード・タイプや装置エラーなどがあり ます。

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