Visual Fortran のプログラムの実行中に重大なエラーが起こった場合,基本処置としてはエラー・メッセージが表示され,プログラムが終了します。この基本処置を置換するために,I/O 文には,制御をプログラム中の特定の場所に移す 3 つの飛び先指定子が用意されています。
END 飛び先指定子は,ファイル終了条件を処理します。
EOR 飛び先指定子は,停留読み取りでの記録終了条件を処理します。
ERR 飛び先指定子は,すべてのエラー状態を処理します。
END,EOR,または ERR 飛び先指定子を使用すると,エラー・メッセージは表示されず,実行は指定された文 (通常はエラー処理ルーチン) で続行されます。
エラー処理ルーチンが処理できない予期しないエラーが発生することがあります。この場合,次のいずれかを行います。
エラー処理ルーチンを変更して,エラー・メッセージ番号を表示するようにします。
エラーを引き起こす I/O 文から END,EOR,または ERR 飛び先指定子を削除します。
ソース・コードを変更したら,プログラムをコンパイル,リンクし,実行して,エラー・メッセージを表示させます。次に例を示します。
READ (8,50,ERR=400)
この文の実行中に重大なエラーが発生した場合,Visual Fortran RTL は制御を文番号 400 の文に移します。同じように,END 指定子を使うと,通常ならばエラーとして処理されるファイル終了条件を処理することができます。次に例を示します。
READ (12,70,END=550)
停留 I/O を使用しているときには,EOR 指定子を使って記録終了条件を処理します。次に例を示します。
150 FORMAT (F10.2, F10.2, I6) READ (UNIT=20, FMT=150, SIZE=X, ADVANCE='NO', EOR=700) A, F, I
また,OPEN,CLOSE,または INQUIRE 文で,ERR を指定子として使用することもできます。次に例を示します。
OPEN (UNIT=10, FILE='FILNAM', STATUS='OLD', ERR=999)
この OPEN 文の実行中にエラーが検出されると,制御は文番号 999 の文に移ります。