OPM と ILE RPG 例外処理との違い
ほとんどの部分で OPM RPG と ILE 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 との動作上の相違点を参照してください。