v60ExceptionCompatibility

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 キューにメッセージが書き込まれます。