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

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

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

条件AT END指定※1INVALID KEY指定※1入出力エラーその他のエラー
ありなしありなし
USE手続きありAT END指定の手続きUSE処理※2INVALID KEY指定の手続きUSE処理※2USE処理※2USE処理※2
なしAT END指定の手続き※3INVALID 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 条件操作」を参照してください。