入出力エラー発生時,USE手続きと入出力手続き文の無条件文との関係を,次に示します。
表6-2 入出力エラー発生時の制御の流れ
条件 | 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 条件操作」を参照してください。