Rational Developer for System z
PL/I for Windows, Version 8.0, プログラミング・ガイド

エラーおよび条件処理の用語

PL/I エラーおよび条件処理の議論の中で使用されるいくつかの用語を十分に理解しておく必要があります。用語を以下に示します。

確立された
ON ステートメントが実行されるとき、ON ユニットは確立された状態になります。同じ条件を参照する ON または REVERT ステートメントが実行されるか、あるいは関連ブロックが終了すると、確立は終了します。
使用可能
条件が発生して ON ユニットまたは標準処置が実行されるとき、その条件は使用可能です。
割り込みと PL/I 条件
特定の PL/I 条件は、マシン割り込みによって検出されます。その他の条件は、ランタイム・ライブラリー・モジュールまたはコンパイル済みプログラム内の特別テスト・コードによって検出する必要があります。
静的または動的派生
静的派生および動的派生は、エラー処理機能の有効範囲の定義に使用される用語です。ON ユニットは動的派生です。つまり ON ユニットは、あらゆる状況において呼び出し側プロシージャーから継承されます。一方、条件使用可能化は静的派生です。すなわち、ソース・プログラム内の収容ブロックから継承されます。静的派生プロシージャーはコンパイル時に判別できます。動的派生プロシージャーは、実行時までわかりません。図 7 に、静的および動的派生プロシージャーの例を示します。
図 7. 静的および動的派生プロシージャー
               
               ?(SIZE):B:PROC;
               ?ON ERROR SNAP;
               ?  .
               ?  .
               ?
               ?CALL C;
               ?     ?
               ?     ?C:PROC;
               ?     ?
               ?     ?END C;
               ?     ?
               ?CALL D;
               ?END B;
               ?
                              
                      ?D:PROC;         ?E:PROC;
                      ?.               ?
                      ?.               ?
                      ?                ?
                      ?CALL E;         ?
                      ?END D;          ?END E;
                              
 
静的派生:
プロシージャー B の使用可能化の接頭部 SIZE は、どのプロシージャーがどれを
呼び出すかにかかわらず、格納されているプロシージャー C のみが継承します。

動的派生:
ON ユニット ON ERROR SNAP は、B によって呼び出されるプロシージャーと、
その後に呼び出されるプロシージャーが継承します。つまり、B が D を呼び
出し、D が E を呼び出す場合、ON ユニットはプロシージャー E で確立され
ます。
通常の戻り
通常の戻りとは、ブロックから GOTO ステートメントへの到達ではなく、END または RETURN ステートメントに到達した後に、呼び出し先ブロックから戻ることです。エラー処理のコンテキストでは、通常の戻りは、ON ユニットからの通常の戻りを意味します。ON ユニットからの通常の戻りの後に行われる処置については、「PL/I 言語解説書」に記載されています。
標準システム処置
標準システム処置は、確立された ON ユニットがない条件が発生した場合に行われる、PL/I 定義のデフォルト処置を指します。

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)