v60ExceptionCompatibility プロパティーを YES に設定すると、以下の効果があります。
- try ブロック内では単一の onException ブロックしか持つことができないほか、
例外タイプを指定することができません。
- sysLib.currentException 変数を使用して、問題の性質を判別することができます。
この変数は、V6 互換性モードでのみ使用可能です。
- 例外は、その例外が発生したパーツを越えて伝搬することはありません。例えば、try ブロックによって呼び出された関数内でエラーが発生した場合、その try ブロックでは同じ例外がスローされたという通知を受け取ることはありません。
- handleHardIOErrors プログラム・プロパティーを YES に設定していない場合は、ハードの入出力エラーにより、アプリケーションが強制終了します。
その場合、EGL は例外をスローして、プログラムがハードの入出力エラーをそれ自体で処理できるようにします。
- 独自のエラーをスローすることはできません。
EGL バージョン 6 または VisualAge® Generator からコードをマイグレーションする際、EGL は自動的に v60ExceptionCompatibility を YES に設定します。
新規のコードではこのプロパティーは必要ありません。1 つの実行単位内にある複数の異なるプログラムでこのプロパティーを別の値に設定することは可能ですが、そうすることによりエラーが発生する場合があります。
互換性
表 1. v60ExceptionCompatibility プロパティーの互換性に関する考慮事項| プラットフォーム |
問題 |
| COBOL 生成 |
v60ExceptionCompatibility プロパティーが YES に設定されている場合、処理されていない例外があるとバージョン 6 の場合と同様にエラー・パネルが表示されます。このプロパティーが NO に設定されている場合、ELAX 異常終了が表示され、ELAD キューにメッセージが書き込まれます。 |