VisualAge COBOL Version 3.0.3 (およびそれ以降)では、COBOL が重大なエラーやクリティカル・エラーを検出して IBM 分散デバッガーが制御を得たとき、 オプションで、エラーを修正してプログラム実行を再開することができます。
この機能強化によって、次のようなケースでは、 デバッグ機能や結果に影響が及びません。
実行エラーは、次の 2 つの方法で VisualAge COBOL に報告されます。
Windows オペレーティング・システムの例外は、 ハードウェアまたはオペレーティング・システムが検出したエラーとして使用されます。 このようなエラーは、 アプリケーションを VisualAge COBOL ランタイムで実行しているときにも、 または VisualAge COBOL ランタイム以外で実行しているときにも発生し得ます。 ソフトウェア通知は、 ランタイム中の妥当性検査または整合性検査でエラーが検出されたときに発生します。
ハードウェア・エラーまたはシステム・エラーの後にプログラムの実行を再開するには(VisualAge COBOL ランタイムの外側で実行しているとき)、次のステップに従ってください。
VisualAge COBOL ランタイムで実行しているとき、エラーの後でプログラム実行を再開するには、ランタイム例外ハンドラーが制御を得る必要があります。ソフトウェア検出済みエラーについては、ランタイム例外ハン ドラーがデフォルトで制御を得ます。 デバッガーの例外フィルターが例外をインターセプトするよう設定されているときにハードウェア・エラーまたはシステム・エラーが発生した場合は、デバッガー・オプション「 例外の実行 」 を使用して、ランタイム例外ハンドラーを使用可能にしてください。
VisualAge COBOL ランタイム例外ハンドラーが制御を得たら、デバッガーは例外に対応するランタイム・エラー・メッセージを表示します。 (デバッガーは、これらのメッセージをランタイム検出エラーとして報告します。) メッセージ・ウィンドウを閉じると、デバッガーはエラーを発生させた VisualAge COBOL ランタイム呼び出しの次の命令で停止します。 アプリケーションが停止した正確な場所を判別するには、 デバッガーの混合ビューまたはアセンブリー・ビューを使用してください。
エラーにはさまざまなものがあります。 一部のエラーは無視して変更を行わずにアプリケーションを再始動することができます。 それ以外のエラーは深刻なのでアプリケーションを正常に再開することができません。 しかし、簡単なケースのエラーの訂正は、以下のアクションを行うことで可能な場合があります。
より複雑なケースの場合、次の処置を行うことができます。
いずれのケースでも、 デバッガーがアプリケーションの制御を得た後、 デバッガーが停止した場所より前にある COBOL ステートメントが完了しなかった可能性もあることに注意してください。 さらに、エラー後にアプリケーションを再始動した場合、 エラーが発生しなかった場合とは動作が異なる可能性があることに注意してください。