実行時エラー:61 ~ 108

この節では,Visual Fortran 実行時エラー番号の 61 ~ 108 番までのエラーについて詳細に説明します。

以下の表では,第 1 列に,I/O エラーが検知された時に IOSTAT 変数に返されるエラー番号を一覧表示しています。

第 2 列の第 1 行は,(forrtl: に続いて表示される) 重大度レベル,メッセージ番号,およびメッセージ・テキストを示しています。第 2 列の第 2 行は,状態条件シンボル (たとえば,FOR$IOS_INCRECTYP) とメッセージの説明を示しています。

重大度レベルについては,「Visual Fortran 実行時エラー」を参照してください。

番号 重大度レベル,番号,メッセージ・テキスト。条件シンボルと説明
61 severe または info 1 (61): Format/variable-type mismatch

FOR$IOS_FORVARMIS 2。整数欄記述子 (ILOZB) で実数変数を,または,実数欄記述子 (DEF) で論理変数を読み取りまたは書き込みのどちらかを行おうとしました。このエラー・メッセージの出力を抑止するには,/check:noformat の説明を参照してください。

62 severe (62): Syntax error in format

FOR$IOS_SYNERRFOR。RTL が配列または文字変数に保存された書式を処理しようとした時に,構文エラーが発生しました。

63 error または info 1 (63): Output conversion error

FOR$IOS_OUTCONERR 2。書式付き出力操作で,特定の番号の値が有効けた数を失わずに指定された欄長に出力できませんでした。この状況に遭遇した場合,オーバーフローした欄は出力記録でのエラーを示すアスタリスク (*) で埋められます。このエラーに対して ERR を指定していない場合,エラー・メッセージを出力した後,プログラムの実行が継続されます。このエラー・メッセージの出力を抑止するには,/check:nooutput_conversion の説明を参照してください。

64 severe (64): Input conversion error

FOR$IOS_INPCONERR 2。書式付き入力操作で,入力欄で不正な文字が検出されたか,入力値が入力変数で表わされる範囲をオーバーフローしました。変数の値はゼロに設定されました。

65 error (65): Floating invalid

FOR$IOS_FLTINV。算術演算で,計算に使用される浮動小数点値が要求した演算の型に対して不正であったか,不正な例外値でした。たとえば,浮動小数点値 0.0 や負の数字の対数を要求した場合に,このエラーが発生します。特定の算術式に対して,/check:nopower オプションを指定して,このメッセージの出力を抑止することができます。

66 severe (66): Output statement overflows record

FOR$IOS_OUTSTAOVE。出力文が最大記録大きさ以上のデータを転送しようとしました。

67 severe (67): Input statement requires too much data

FOR$IOS_INPSTAREQ。書式なし READ 文または PAD='NO' で開かれたファイルからの書式付き順番 READ 文で既存の記録以上のデータを読み取ろうとしました。

68 severe (68): Variable format expression value error

FOR$IOS_VFEVALERR 2。可変書式式の値が目的の使用に許容される範囲内にありませんでした。たとえば,欄幅がゼロ以下でした。1 の値が仮定されました。これは,ゼロの値を仮定する P 形編集記述子を除きます。

70 3 severe (70): Integer overflow

FOR$IOS_INTOVF。算術演算で,整数値がバイト,ワード,またはロングワードの範囲を超えました。算の結果は下位部分が正しい結果でした。様々な整数データ型の範囲については,「データの表現」を参照してください。指定する整数データの大きさを考慮してください (ソース・コードを修正するか,INTEGER 宣言に対して,/integer_size:size オプションを使用します)。

71 3 severe (71): Integer divide by zero

FOR$IOS_INTDIV。整数の算術演算で,ゼロで除算を行おうとしました。演算の結果には被除数が設定されました。つまり,1 で除算を行ったものと等価です。

72 3 error (72): Floating overflow

FOR$IOS_FLTOVF。算術演算で,浮動小数点値がそのデータ型で表現できる最大値を超えました。 様々なデータ型の範囲については,「データの表現」を参照してください。

73 3 error (73): Floating divide by zero

FOR$IOS_FLTDIV。浮動小数点の算術演算で,ゼロで除算を行おうとしました。

74 3 error (74): Floating underflow

FOR$IOS_FLTUND。算術演算で,浮動小数点値がそのデータ型で表現できる最小値よりも小さくなりました。/fpe:n オプションの値に依存して,アンダーフローの結果はゼロに設定されるか斬新的なアンダーフローを許可します。様々なデータ型の範囲については,「データの表現」を参照してください。

75 3 error (75): Floating point exception

FOR$IOS_SIGFPE。浮動小数点例外が発生しました。以下の原因が考えられます。

  • ゼロによる除算

  • オーバーフロー

  • 不正な演算 (たとえば,無限値の減算,符号なし無限大とゼロの乗算),ゼロとゼロまたは無限大と無限大の除算

  • オーバーフローが変換を禁止している時の浮動小数点から固定書式への変換

77 3 severe (77): Subscript out of range

FOR$IOS_SUBRNG。配列引用が宣言した配列上下限外にあると検知されました。

78 3 error (78): Process killed

FOR$IOS_SIGTERM。プロセスがこのプロセスの終了を要求するシグナルを受診しました。このソフトウェア終了シグナルのソースを決定します。

79 3 error (79): Process quit

FOR$IOS_SIGQUIT。プロセスが自分自身の終了を要求するシグナルを受診しました。この中断シグナルのソースを決定します。

95 3 info (95): Floating-point conversion failed

FOR$IOS_FLOCONFAI。非ネイティブ浮動小数点データの書式なし読み取りまたは書き込みの試みは失敗しました。浮動小数点が以下であるためです。

  • 浮動小数点が等価なネイティブ書式に対して許容される最大値を超えました,そして,無限大 (正または負) と同じに設定されました。

  • 浮動小数点が無限大 (正または負) でした,そして,無限大 (正または負) に設定されました。

  • 浮動小数点が不正な値でした,そして,Not-A-Number (NaN) に設定されました。

大変小さい数字はゼロ (0) に設定されます。このエラーは,指定した非ネイティブ浮動小数点書式が指定したファイルの浮動小数点書式に一致しないために発生しました。以下の点を確認します。

  • 正しいファイルが指定されていたこと。

  • 記録構成が Compaq Fortran が期待する書式に一致していること。

  • 使用するデータの範囲 (「データの表現」を参照)。

  • 正しい非ネイティブ浮動小数点データ書式が指定されていたこと (「書式なし数値データの変換」を参照)。

108 Severe (108): Cannot stat file

FOR$IOS_CANSTAFILE。正しいファイルと装置が指定されていることを確認します。


1 エラー 61 ~ 63 に対して,重大度はコンパイル時に使用する /check:keywords に依存します。
2 ERR は,エラー番号 61,63,64,および 68 に対する I/O 文が完了した後,転送されます。結果として,ファイル状態と記録位置は,エラーが発生しなかった場合と同じになります。しかしながら,他の I/O エラーはエラーが検知されると直ぐに ERR を転送します。そのため,ファイル状態と記録位置は未定になります。
3 IOSTAT で返されないエラーを識別します。