実行時エラー:31 ~ 60

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

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

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

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

番号 重大度レベル,番号,メッセージ・テキスト。条件シンボルと説明
31 severe (31): Mixed file access modes

FOR$IOS_MIXFILACC。以下の組み合わせのどれかを使用しようとしました。

  • 同じ装置に対する書式付きと書式なし操作

  • 装置に対する不正な探査モードの組み合わせ。たとえば,直接探査と順番探査

  • 他の言語で書かれたプログラムが開いた論理装置に対する Compaq Fortran RTL I/O 文

32 severe (32): Invalid logical unit number

FOR$IOS_INVLOGUNI。2,147,483,647 より大きいまたはゼロより小さい論理装置番号が I/O 文で使用されました。

33 severe (33): ENDFILE error

FOR$IOS_ENDFILERR。以下の条件の 1 つが発生しました。

  • ファイルが可変長記録を持つ順編成ファイルではありませんでした。

  • ファイルが順番,追加,または直接探査で開かれていませんでした。

  • 書式なしファイルはセグメント記録を含んでいませんでした。

  • ENDFILE 文の実行中に Compaq Fortran RTL I/O システムがエラーを検知しました。

34 severe (34): Unit already open

FOR$IOS_UNIALROPEDEFINE FILE 文が既に開かれている論理装置を指定しました。

35 severe (35): Segmented record format error

FOR$IOS_SEGRECFOR。書式なし順編成ファイルで不正なセグメント記録制御データが検知されました。ファイルは,多分 RECORDTYPE='FIXED' または 'VARIABLE' が有効な状態で作成されたか,Fortran または Fortran 90 以外の言語で書かれたプログラムで作成されています。

36 severe (36): Attempt to access non-existent record

FOR$IOS_ATTACCNON。直接探査 READ または FIND 文が相対編成ファイル (または固定長記録を持つディスク上の順編成ファイル) のファイル終了を超えて探査しようとしたか,相対編成ファイルから以前に削除された記録を探査しようとしました。

37 severe (37): Inconsistent record length

FOR$IOS_INCRECLEN。記録長を指定せずに直接探査ファイルを開こうとしました。

38 severe (38): Error during write

FOR$IOS_ERRDURWRIWRITE 文の実行中に,Compaq Fortran RTL I/O システムがエラー条件を検知しました。

39 severe (39): Error during read

FOR$IOS_ERRDURREAREAD 文の実行中に,Compaq Fortran RTL I/O システムがエラー条件を検知しました。

40 severe (40): Recursive I/O operation

FOR$IOS_RECIO_OPE。論理装置に対する I/O 文の実行中に,同じ論理装置に他の I/O 操作を行おうとしました。たとえば,I/O 並びや可変書式式の式で参照される同じ論理装置に I/O を実行する関数副プログラムです。

41 1, 2 severe (41): Insufficient virtual memory

FOR$IOS_INSVIRMEM。空間を動的に割り付けようとしている時に,Compaq Fortran RTL が利用可能な仮想メモリーを超えて割り付けを行おうとしました。この問題を解決するには,仮想メモリー (Windows 2000 の場合,「コントロール パネル」の「システム」アイコンを選択し,「詳細」タブを選択し,「パフォーマンス オプション」ボタンをクリックし,「変更」をクリック) を増加させることを考えます。このプログラムを再実行する前に,新しいシステム・リソースが有効になるまで待ちます。

42 severe (42): No such device

FOR$IOS_NO_SUCDEVOPEN 操作を行おうとした時,パス名に不正なまたは未知の装置名が含まれていました。

43 severe (43): File name specification error

FOR$IOS_FILNAMSPEOPEN または INQUIRE 文に指定したパス名やファイル名が Compaq Fortran RTL I/O システムでは受け付けられないものでした。

44 severe (44): Inconsistent record type

FOR$IOS_INCRECTYPOPEN 文の RECORDTYPE 値は,開かれている既存のファイルの記録形式属性に一致しませんでした。

45 severe (45): Keyword value error in OPEN statement

FOR$IOS_KEYVALERROPEN または CLOSE 文の指定子に要求される値に間違った値が指定されました。

46 severe (46): Inconsistent OPEN/CLOSE parameters

FOR$IOS_INCOPECLOOPEN または CLOSE 文の指定が矛盾していました。不正な組み合わせには以下のものがあります。

  • READONLY または ACTION='READ'STATUS='NEW' または STATUS='SCRATCH' の組み合わせ

  • READONLYSTATUS='REPLACE'ACTION='WRITE',または ACTION='READWRITE' の組み合わせ

  • ACCESS='APPEND'READONLYACTION='READ'STATUS='NEW',または STATUS='SCRATCH' の組み合わせ

  • DISPOSE='SAVE''PRINT',または 'SUBMIT'STATUS='SCRATCH' の組み合わせ

  • DISPOSE='DELETE'READONLY の組み合わせ

  • CLOSE 文の STATUS='DELETE'OPEN 文の READONLY の組み合わせ

  • ACCESS='APPEND'STATUS='REPLACE' の組み合わせ

  • ACCESS='DIRECT'POSITION='APPEND' または 'ASIS' の組み合わせ

47 severe (47): Write to READONLY file

FOR$IOS_WRIREAFIL。現在有効な OPEN 文で ACTION='READ' または READONLY と宣言されたファイルに対して,書込み操作を行おうとしました。

48 severe (48): Invalid argument to Fortran Run-Time Library

FOR$IOS_INVARGFOR。コンパイラが Compaq Fortran RTL に不正なまたは間違ったコード化された引数を渡しました。これは,コンパイラが使用している RTL よりも新しい場合に発生します。

51 severe (51): Inconsistent file organization

FOR$IOS_INCFILORGOPEN 文で指定したファイル編成が,既存のファイルの編成と一致しませんでした。

53 severe (53): No current record

FOR$IOS_NO_CURREC。現在の記録が未定義な時に,記録を再書き込みするために REWRITE 文を実行しようとしました。現在の記録を定義するには,READ 文を実行します。READ 文の後で,REWRITE 文の前に論理装置に対して INQUIRE 文を実行するという方法もあります。READ 文と REWRITE 文の間で論理装置に対する他の操作を行うことはできません。

55 severe (55): DELETE error

FOR$IOS_DELERRDELETE 文の実行中に,Compaq Fortran RTL I/O システムがエラー条件を検知しました。

57 severe (57): FIND error

FOR$IOS_FINERRFIND 文の実行中に,Compaq Fortran RTL I/O システムがエラー条件を検知しました。

58 3 info (58): Format syntax error at or near xx

FOR$IOS_FMTSYN。書式形式エラーに対する書式文字列の文字部分列である xx を含む文を検証してください。詳細は,「FORMAT」を参照してください。

59 4 severe (59): List-directed I/O syntax error

FOR$IOS_LISIO_SYN。並び入力記録のデータが不正な書式か,定数の型が対応する変数と互換性がありませんでした。変数の値は変更されませんでした。

60 severe (60): Infinite format loop

FOR$IOS_INFFORLOO。I/O 並びを含む I/O 文に関連する書式がそれらの値を転送するために使用する欄記述子を持っていませんでした。


1 ALLOCATE 文の STAT で返されるエラーを識別します。
2 DEALLOCATE 文の STAT で返されるエラーを識別します。
3 IOSTAT で返されないエラーを識別します。
4 ERR は,エラー番号 59 に対する I/O 文が完了した後,転送されます。結果として,ファイル状態と記録位置は,エラーが発生しなかった場合と同じになります。しかしながら,他の I/O エラーはエラーが検知されると直ぐに ERR を転送します。そのため,ファイル状態と記録位置は未定になります。