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 ステートメントが完了しなかった可能性もあることに注意してください。 さらに、エラー後にアプリケーションを再始動した場合、 エラーが発生しなかった場合とは動作が異なる可能性があることに注意してください。