PL/I の条件処理セマンティクスは、言語環境プログラムでも
サポートされます。
ただし、ERROR ON ユニット
に関連して ERROR 条件の
ランタイム・メッセージを
発行するタイミングは、
次のように
異なります。
- ERROR 条件のランタイム・メッセージが発行
されるのは、ERROR ON ユニットが設定されていない場合、または ERROR ON ユニットが
ブロックから抜ける GOTO によって条件から回復していない場合だけです。
ERROR ON ユニットから抜ける GOTO を
使用することで、PL/I ERROR 条件のメッセージを回避できます。
メッセージの発行と ERROR 条件の発生を暗黙処置とする PL/I 条件の場合、
メッセージを発行するタイミングは変更されません。
表 6 に、ERROR ON ユニット
に関連して、OS PL/I の環境で ERROR 条件の
ランタイム・メッセージが発行されるタイミングを示します。
表 6. OS PL/I バージョン 2 リリース 3 の ERROR ON ユニットと ERROR 条件のメッセージ
|
条件
|
ON
ユニットなし
|
ERROR ON ユニット
GOTO なし
|
ERROR ON ユニット
GOTO
|
| ERROR 条件が発生1 |
メッセージ |
メッセージは ON ユニットの前 |
メッセージは ON ユニットの前 |
| ZERODIVIDE 条件が発生2 |
メッセージ |
メッセージは ON ユニットの前 |
メッセージは ON ユニットの前 |
|
注記:
- 1
- 負数値の平方根の計算、データ例外など。
- 2
- ZERODIVIDE ON ユニットは使用しません。このため、
暗黙処置が行われます。
メッセージが出力され、ERROR 条件が発生します。
|
表 7 に、ERROR ON ユニット
に関連して、言語環境プログラムの環境で ERROR 条件の
ランタイム・メッセージが発行されるタイミングを示します。
表 7. 言語環境プログラムの ERROR ON ユニットと ERROR 条件のメッセージ
|
条件
|
ON
ユニットなし
|
ERROR ON ユニット
GOTO なし
|
ERROR ON ユニット
GOTO
|
| ERROR 条件が発生1 |
メッセージ |
メッセージは ON ユニットの後 |
メッセージなし |
| ZERODIVIDE 条件が発生2 |
メッセージ |
メッセージは ON ユニットの前 |
メッセージは ON ユニットの前 |
|
注記:
- 1
- 負数値の平方根の計算、データ例外など。
- 2
- ZERODIVIDE ON ユニットは使用しません。このため、
暗黙処置が行われます。
メッセージが出力され、ERROR 条件が発生します。
|
ERROR ON ユニットが制御を受け取るまで、ON ERROR SNAP によって
生成される SNAP トレースバック・メッセージが継続して出されます。
SNAP トレースバック・メッセージは、通常の ERROR メッセージとは異なります。
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)