実行時エラー:120 ~ 300

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

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

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

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

番号 重大度レベル,番号,メッセージ・テキスト。条件シンボルと説明
120 severe (120): Operation requires seek ability

FOR$IOS_OPEREQSEE。ファイルでシーク操作を実行するための機能を要求する操作をファイルで行おうとしました。正しい装置,ディレクトリ・パス,およびファイルが指定されていることを確認します。

138 1 severe (138): Array index out of bounds

FOR$IOS_BRK_RANGE。配列添え字がその配列の次元境界外にあります。/check:bounds オプションを設定して,再コンパイルしてください。

139 1 severe: (139): Array index out of bounds for index nn

FOR$IOS_BRK_RANGE2。配列添え字がその配列の次元境界外にあります。/check:bounds オプションを設定して,再コンパイルしてください。

140 1 error (140): Floating inexact

FOR$IOS_FLTINE。浮動小数点の算術演算または変換操作が,数学的に正確な結果とは異なった結果を返しました。このエラーは,IEEE 操作の丸め結果が正確でない場合に報告されます。

144 1 severe (144): Reserved operand

FOR$IOS_ROPRAND。プログラムを実行中に,Compaq Fortran RTL が予約オペランドに遭遇しました。この問題を Compaq にご報告ください。

145 1 severe (145): Assertion error

FOR$IOS_ASSERTERR。Compaq Fortran RTL が表明エラーに遭遇しました。この問題を Compaq にご報告ください。

146 1 severe (146): Null pointer error

FOR$IOS_NULPTRERR。アドレスを持たないポインタを使用しようとしました。ソース・プログラムを修正し,再コンパイル,再リンクを行ってください。

147 1 severe (147): Stack overflow

FOR$IOS_STKOVF。プログラムの実行中に,Compaq Fortran RTL がスタック・オーバーフローに遭遇しました。『Compaq Visual Fortran Installing and Getting Started』の「Guidelines for Programs That Use Large Data Arrays」を参照してください。

148 1 severe (148): String length error

FOR$IOS_STRLENERR。文字列操作で,整数値が許可される文字列長範囲外であるコンテキストに現れました。/check:bounds オプションを設定して,再コンパイルしてください。

149 1 severe (149): Substring error

FOR$IOS_SUBSTRERR。配列添え字がその配列の次元境界外にあります。/check:bounds オプションを設定して,再コンパイルしてください。

150 1 severe (150): Range error

FOR$IOS_RANGEERR。整数値が許可される範囲外であるコンテキストに現れました。

151 1, 2 severe (151): Allocatable array is already allocated

FOR$IOS_INVREALLOC。割付け配列は割り付けようとする時に既に割り付けられていてはいけません。配列を再び割り付ける前に,その配列の割り付けを解除しておかなければなりません。

152 1 severe (152): Unresolved contention for DEC Fortran RTL global resource

FOR$IOS_RESACQFAI。再入可能ルーチンに対して Compaq Fortran RTL 大域リソースの獲得に失敗しました。マルチスレッド・プログラムに対して,要求した大域リソースはプログラムの異なったスレッドで保持されています。非同期ハンドラを使用するプログラムに対して,要求した大域リソースはプログラムの呼び出し側 (たとえば,主プログラム) と同じ大域リソースを獲得しようとする非同期ハンドラで保持されています。

153 1, 3 severe (153): Allocatable array or pointer is not allocated

FOR$IOS_INVDEALLOC。Fortran 90 割付け配列またはポインタの割付けを解除しようとする時には,それが既に割り付けられていなければなりません。再び割付け解除を行う前に,配列またはポインタを割り付けなければなりません。

154 1 severe(154): Array index out of bounds

FOR$IOS_RANGE。配列添え字がその配列の次元境界外にあります。/check:bounds オプションを設定して,再コンパイルしてください。

155 1 severe(155): Array index out of bounds for index nn

FOR$IOS_RANGE2。配列添え字がその配列の次元境界外にあります。/check:bounds オプションを設定して,再コンパイルしてください。

156 1 severe(156): GENTRAP code = hex dec

FOR$IOS_DEF_GENTRAP。Compaq Fortran RTL は不明な GENTRAP コードを検知しました。メモリーの異常によるソフトウェアの問題,または,不正な例外コードを持つ例外を送るソフトウェアによるソフトウェアの問題が,しばしばこの原因になります。この問題が発生した場合,/check:bounds オプションを設定して,再コンパイルしてください。

157 1 severe(157): Program Exception - access violation

FOR$IOS_ACCVIO。プログラムが適切な参照権を持っていない仮想アドレスに書き込みまたは読み取りを行おうとしました。問題が領域外のメモリー参照かアドレスとして取り扱われるデータが引き起こす引数の不一致かを確認するために,/check:bounds/warn:argument_checking オプションを設定して,再コンパイルしてください。

このエラーの他の原因には以下のものがあります。

  • C 対 STDCALL 呼び出しメカニズムの不一致はスタックの異常を引き起こします。

  • 割り付けられていないポインタを参照した。

  • 保護された (たとえば,読取り専用) アドレスを参照しようとした。

158 1 severe(158): Program Exception - datatype misalignment

FOR$IOS_DTYPE_MISALIGN。Compaq Fortran RTL は,指定されたデータ型に対して自然境界で位置合わさせされていないデータを検知しました。たとえば,自然境界で位置合わせされた REAL(8) データ項目は 8 の倍数のアドレスを持っています。自然に位置合わせされたデータを保証するには,/alignment オプションを使用します。位置合わせについての詳細は,「データの位置合わせの注意事項」を参照してください。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

159 1 severe(159): Program Exception - breakpoint

FOR$IOS_PGM_BPT。Compaq Fortran RTL はプログラムでブレークポイントに遭遇しました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

160 1 severe(160): Program Exception - single step

FOR$IOS_PGM_SS。 トレース・とラップまたは他のシングル命令メカニズムが 1 命令が実行されたことをシグナルとして送ってきました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

161 1 severe(161): Program Exception - array bounds exceeded

FOR$IOS_PGM_BOUNDS。プログラムが配列の指定した境界外の配列要素を参照しようとしました。/check:bounds オプションを設定して,再コンパイルしてください。

162 1 severe(162): Program Exception - denormal floating-point operand

FOR$IOS_PGM_DENORM。浮動小数点の算術演算または変換操作が,オペランドとして規格化されていない数字を持っています。規格化されていない数字は,指定したデータ型の標準範囲の最小値よりも小さい値です。浮動小数点型の範囲については,「データの表現」を参照してください。

規格化されていない数字の原因となるソース・コートを特定し修正するか,規格化されていない数字が許容できる場合,/fpe コンパイラ・オプションに対して異なった値を指定して,プログラムが継続して実行できるようにします。

163 1 severe(163): Program Exception - floating stack check

FOR$IOS_PGM_FLTSTK。浮動小数点演算で,ia32 システムの浮動小数点レジスタ・スタックがオーバーフローまたはアンダーフローしました。これは致命的な例外です。これは,INTEGER 関数またはサブルーチンを REAL 関数として呼び出した場合や,REAL 関数またはサブルーチンを INTEGER 関数として呼び出した場合にしばしば発生します。

呼び出し側のコードと呼び出されるルーチン間でルーチンの宣言方法で統一が取れているかどうかを注意深く確認してください。この問題を解決できない場合,現象が再現できるサンプルと共にこの問題を Compaq にご報告ください。

164 1 severe(164): Program Exception - integer divide by zero

FOR$IOS_PGM_INTDIV。整数算術演算で,ゼロによる除算を行おうとしました。ゼロによる整数の除算を行っている場所を特定し,修正してください。

165 1 severe(165): Program Exception - integer overflow

FOR$IOS_PGM_INTOVF。算術演算で,整数値がそのデータ型で表現できる最大値を超えました。INTEGER データ型の範囲については,「データの表現」を参照してください。

このメッセージは,/check:overflow が指定され,整数のオーバーフローが発生した時に出力されます。

166 1 severe(166): Program Exception - privileged instruction

FOR$IOS_PGM_PRIVINST。プログラムが,現在のマシン・モードでは許されてない操作の命令を実行しようとしました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

167 1 severe(167): Program Exception - in page error

FOR$IOS_PGM_INPGERR。プログラムが存在しないページを参照しようとしました。そのためシステムがページをロードできませんでした。たとえば,ネットワーク越しにプログラムを実行しようとしている時にネットワーク接続が失われた場合,このエラーが発生します。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

168 1 severe(168): Program Exception - illegal instruction

FOR$IOS_PGM_ILLINST。プログラムが不正な命令を実行しようとしました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

1691 severe(169): Program Exception - noncontinuable exception

FOR$IOS_PGM_NOCONTEXCP。プログラムが継続できない例外が発生した後に,実行を継続使用としました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

170 1 severe(170): Program Exception - stack overflow

FOR$IOS_PGM_STKOVF。プログラムの実行中に,Compaq Fortran RTL がスタック・オーバーフローを検知しました。スタックの大きさを増やす方法については,リリース・ノートを参照してください。

171 1 severe(171): Program Exception - invalid disposition

FOR$IOS_PGM_INVDISP。例外ハンドラッが不正な配置を例外ディスパッチャに返しました。高水準言語を使用するプログラマはこの例外に決して遭遇しません。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

172 1 severe(172): Program Exception - exception code = hex dec

FOR$IOS_PGM_EXCP_CODE。Compaq Fortran RTL は不明な例外コードを検知しました。

これは,オペレーティング・システムのエラーです。詳細は,オペレーティング・システムのドキュメントを参照してください。

173 1, 3 severe(173): A pointer passed to DEALLOCATE points to an array that cannot be deallocated

FOR$IOS_INVDEALLOC2DEALLOCATE に渡されたポインタが,明示的配列,配列スライス,または DEALLOCATE 文で割付け解除できなかったメモリーの他の型を指していました。ALLOCATE 文で前に割り付けられた全体配列のみ,DEALLOCATE 文に渡すことができます。

175 1 severe(175): DATE argument to DATE_AND_TIME is too short (LEN=n), required LEN=8

FOR$IOS_SHORTDATEARGDATE_AND_TIME 組込みサブルーチンへの DATE 引数に関連する文字数が,要求される長さよりも短すぎました。この引数として渡す文字数を少なくとも 8 文字に増やさなければなりません。TIMEZONE 引数もこれらの最小文字長を満足していることを確認してください。

176 1 severe(176): TIME argument to DATE_AND_TIME is too short (LEN=n), required LEN=10

FOR$IOS_SHORTTIMEARGDATE_AND_TIME 組込みサブルーチンへの TIME 引数に関連する文字数が,要求される長さよりも短すぎました。この引数として渡す文字数を少なくとも 10 文字に増やさなければなりません。DATEZONE 引数もこれらの最小文字長を満足していることを確認してください。

177 1 severe(177): ZONE argument to DATE_AND_TIME is too short (LEN=n), required LEN=5

FOR$IOS_SHORTZONEARGDATE_AND_TIME 組込みサブルーチンへの ZONE 引数に関連する文字数が,要求される長さよりも短すぎました。この引数として渡す文字数を少なくとも 5 文字に増やさなければなりません。DATETIME 引数もこれらの最小文字長を満足していることを確認してください。

178 1 severe(178): Divide by zero

FOR$IOS_DIV。 浮動小数点または整数のゼロによる除算例外が発生しました。

179 1, 2 severe(179): Cannot allocate array - overflow on array size calculation

FOR$IOS_ARRSIZEOVF。 配列の動的な割付けに失敗しました。要求した大きさがアドレス可能なメモリーを超えているためです。

201 1 severe (201): Intel Pentium fdiv flaw detected, please update the processor

FOR$IOS_FLAWEDPENT。Compaq Fortran RTL システムは Intel Pentium プロセッサーの欠陥を検知しました。プロセッサーのアップグレードを行うには,Intel にご連絡ください。この条件が発生した時にプログラムの実行を継続するには,環境変数 FOR_RUN_FLAWED_PENTIUM を真に設定し,プログラムを再実行します。詳細は,「Intel Pentium の浮動小数点の欠陥」を参照してください。

256 severe (256): Unformatted I/O to unit open for formatted transfers

FOR$IOS_UNFIO_FMTOPEN 文 (FORM 指定子) でファイルが書式付きであることを指定した装置に対して書式なし I/O を行おうとしました。正しい装置 (ファイル) を指定していることを確認してください。OPEN 文で FORM 指定子を指定しておらず,ファイルが書式なしデータを含んでいる場合,OPEN 文で FORM='UNFORMATTED' を指定してください。そうしなければ,書式付き I/O を使用します (たとえば,並びまたは変数群 I/O)。

257 severe (257): Formatted I/O to unit open for unformatted transfers

FOR$IOS_FMTIO_UNFOPEN 文 (FORM 指定子) でファイルが書式なしであることを指定した装置に対して書式付き I/O (たとえば,並びまたは変数群 I/O) を行おうとしました。正しい装置 (ファイル) を指定していることを確認してください。OPEN 文で FORM 指定子を指定しておらず,ファイルが書式付きデータを含んでいる場合,OPEN 文で FORM='FORMATTED' を指定してください。そうしなければ,書式なし I/O を使用します。

259 severe (259): Sequential-access I/O to unit open for direct access

FOR$IOS_SEQIO_DIR。この装置番号に対する OPEN は直接探査を指定し,I/O 文は順番探査を指定しています。OPEN 文を確認し,I/O 文が正しい装置番号と探査形式を使用していることを確認してください。

詳細は,「OPEN」と「A-Z 索引」の他の I/O 文を参照してください。

264 severe (264): operation requires file to be on disk or tape

FOR$IOS_OPEREQDIS。 ターミナルのようなデバイスで BACKSPACE 文を使用しようとしました。

265 severe (265): operation requires sequential file organization and access

FOR$IOS_OPEREQSEQ。編成が順編成ではいファイルや探査が順番探査ではないファイルで BACKSPACE 文を使用しようとしました。BACKSPACE 文は,順番探査で開かれた順編成ファイルに対してのみ使用することができます。

266 1 error (266): Fortran abort routine called

FOR$IOS_PROABOUSE。プログラムは,自分自身を終了させるように abort ルーチンを呼び出しました。

268 1 severe (268): End of record during read

FOR$IOS_ENDRECDUREOR 飛び先指定子を指定しない停留 I/O READ 文の実行中に,記録終了条件に遭遇しました。

296 1 info(296): nn floating inexact traps

FOR$IOS_FLOINEEXC。プログラムの実行中に遭遇した「浮動小数点の不正確なデータ」トラップの総数は,nn でした。このまとめメッセージは,プログラムの実行後に表示されます。

297 1 info (297): nn floating invalid traps

FOR$IOS_FLOINVEXC。プログラムの実行中に遭遇した「浮動小数点の不正なデータ」トラップの総数は,nn でした。このまとめメッセージは,プログラムの実行後に表示されます。

298 1 info (298): nn floating overflow traps

FOR$IOS_FLOOVFEXC。プログラムの実行中に遭遇した「浮動小数点のオーバーフロー」トラップの総数は,nn でした。このまとめメッセージは,プログラムの実行後に表示されます。

299 1 info (299): nn floating divide-by-zero traps

FOR$IOS_FLODIV0EXC。プログラムの実行中に遭遇した「浮動小数点のゼロによる除算」トラップの総数は,nn でした。このまとめメッセージは,プログラムの実行後に表示されます。

300 1 info (300): nn floating underflow traps

FOR$IOS_FLOUNDEXC。プログラムの実行中に遭遇した「浮動小数点のアンダーフロー」トラップの総数は,nn でした。このまとめメッセージは,プログラムの実行後に表示されます。


1 IOSTAT で返されないエラーを識別します。
2 ALLOCATE 文の STAT で返されるエラーを識別します。
3 DEALLOCATE 文の STAT で返されるエラーを識別します。