OPM と ILE RPG 例外処理との違い

ほとんどの部分で OPM RPGILE RPG では、例外処理は同じように作動します。 重要な相違は処理不能例外の部分にあります。

OPM では、例外が起こり、RPG 特有の処理プログラムが活動状態でない場合には 、照会メッセージが出されます。 ILE では、これは、例外が機能チェックである場合にのみ起こります。 機能チェックでない場合には、例外はプロシージャーまたはプログラムの 呼び出し元に渡され、適格なより高位の呼び出しスタック項目が例外を処理できるよう になります。 例えば、次の例を考えてください。
  • PGM A が PGM B を呼び出し、次に PGM B が PGM C を呼び出します。
  • PGM B では呼び出しに対するエラー標識がコーディングされています。
  • PGM C にはエラー標識も *PSSR エラー処理サブルーチンもコーディングさ れていません。
  • PGM C が例外を受け取ります。

OPM では照会メッセージは PGM C に対して出されます。ILE では、 例外は PGM C によって処理されないため PGM B にパーコレートされます。PGM B のエラー標識はオンになって PGM B がエラーを処理できるようになり、 その過程で PGM C が異常終了します。照会メッセージはありません。

PGM C に *PSSR エラー処理サブルーチンがコーディングされている場合には、 OPM でも ILE でも、例外は PGM C によって処理され、エラー処理サブルーチン が実行されます。
注: ILE RPG によって出される照会メッセージは OPM RPG と同様、'RPG' ではなく 'RNQ' の接頭部で始まります。

特定のエラーの場合には一定の処理上の相違が存在します。 詳しくは 、付録 A. OPM RPG/400 と AS/400 用 ILE RPG との動作上の相違点を参照してください。