EXCEPTION/ERROR 宣言プロシージャーは、入出力エラーが発生するたびに状況キーの値をチェックするために使用できます。 エラーの原因となったファイルに関する追加の情報は、簡略名、OPEN-FEEDBACK、 および I-O-FEEDBACK からのデータを使用することによって得ることができます。
ファイルに対して EXCEPTION/ERROR 宣言プロシージャーを指定する際には、注意を払う必要があります。 ファイルに対する最初の OPEN が正常に終了する前に、 オブジェクト・プログラムによって現行の宣言が確立されることはありません。 したがって、オープンされていないファイルに対して他の I-O ステートメントが実行された場合には、 宣言は制御を受け取ることができません。 ただし、このファイルが以前にオープンされたことがある場合には、 直前に確立された宣言プロシージャーが制御を受け取ります。
たとえば、OPEN OUTPUT ステートメントによってこのファイルに対する宣言プロシージャーが確立され、 その後でエラーが起こらずにこのファイルがクローズされたものとします。 後の処理の中で論理エラーが発生した場合には、 このファイルが OUTPUT モードでオープンされたときに確立された宣言プロシージャーへ制御が渡されます。
エラー処理: 入出力エラーが発生したときに、 適用可能なファイル状況文節がある (しかし、適用可能な USE プロシージャーはない) 場合には、 ファイル状況が更新され、制御がプログラムに戻されます。 エラーを処理するファイル状況文節、USE プロシージャー (暗黙または明示)、AT END 句、 または INVALID KEY 句がない場合には、実行時メッセージが出されて、 プログラムを終了させるかプログラムへ戻るかを選択することになります。