COBOL2002 ユーザーズガイド


6.3.1 入出力エラー処理の概要

入出力エラー発生時,USE手続きと入出力手続き文の無条件文との関係を,次に示します。

表6‒3 入出力エラー発生時の制御の流れ

条件

AT END指定※1

INVALID KEY指定※1

入出力エラー

その他のエラー

あり

なし

あり

なし

USE手続き

あり

AT END指定の手続き

USE処理※2

INVALID KEY指定の手続き

USE処理※2

USE処理※2

USE処理※2

なし

AT END指定の手続き

※3

INVALID KEY指定の手続き

※3

※3

※3

注※1

NOT AT END,NOT INVALID KEY指定の場合は,入出力文が正常終了したときだけ,NOT AT END,NOT INVALID KEYで指定した手続きに制御が渡ります。

注※2

USE手続き処理後,エラーの発生した入出力文の次の文に制御が渡ります。FILE STATUS句があれば,入出力状態の値が設定されます。

注※3

FILE STATUS句があれば次の文に制御が渡ります。

FILE STATUS句がなければ,次のように動作します。

  • 共通例外処理の致命的例外の場合

    プログラムの実行が,中止されます。

  • 共通例外処理の非致命的例外の場合

    プログラムの実行が,継続されます。

詳細は,「21.9.2 従来形式の例外処理と共通例外処理の関係」の「(3) FILE STATUS句の指定と共通例外処理での異常終了」を参照してください。

共通例外処理の致命的例外,非致命的例外については,マニュアル「COBOL2002 言語 標準仕様編」 「10.5.11 条件操作」を参照してください。