この節では,Visual Fortran 実行時エラー番号の 570 ~ 614 番までのエラーについて詳細に説明します。
以下の表では,第 1 列に,I/O エラーが検知された時に IOSTAT 変数に返されるエラー番号を一覧表示しています。
第 2 列の第 1 行は,(forrtl: に続いて表示される) 重大度レベル,メッセージ番号,およびメッセージ・テキストを示しています。第 2 列の第 2 行は,状態条件シンボル (たとえば,FOR$IOS_INCRECTYP) とメッセージの説明を示しています。
重大度レベルについては,「Visual Fortran 実行時エラー」を参照してください。
番号 | 重大度レベル,番号,メッセージ・テキスト。条件シンボルと説明 |
---|---|
570 | severe (570): Illegal STATUS value
FOR$IOS_F6304。不正な値が STATUS オプションで使用されました。 STATUS には以下の値が使用できます。
|
571 | severe (571): Illegal MODE value
FOR$IOS_F6305。不正な値が MODE オプションで使用されました。 MODE には 'READ','WRITE',または 'READWRITE' が使用できます。 |
572 | severe (572): Illegal ACCESS value
FOR$IOS_F6306。不正な値が ACCESS オプションで使用されました。 ACCESS には 'SEQUENTIAL' および 'DIRECT' が使用できます。 |
573 | severe (573): Illegal BLANK value
FOR$IOS_F6307。不正な値が BLANK オプションで使用されました。 BLANK には 'NULL' および 'ZERO' が使用できます。 |
574 | severe (574): Illegal FORM value
FOR$IOS_F6308。不正な値が FORM オプションで使用されました。 FORM には 'FORMATTED','UNFORMATTED',および 'BINARY' が使用できます。 |
575 | severe (575): Illegal SHARE value
FOR$IOS_F6309。不正な値が SHARE オプションで使用されました。 SHARE には 'COMPAT','DENYRW','DENYWR','DENYRD',および 'DENYNONE' が使用できます。 |
577 | severe (577): Illegal record number
FOR$IOS_F6311。不正な数字が直接探査ファイルに対して記録番号として指定されました。 直接探査ファイルに対する正しい第 1 記録番号は 1 です。 |
578 | severe (578): No unit number associated with *
FOR$IOS_F6312。INQUIRE 文で,NUMBER オプションが * (コンソール) に関連付けられたファイルに対して指定されました。 |
580 | severe (580): Illegal unit number
FOR$IOS_F6314。不正な装置番号が指定されました。 正しい装置番号は,0 以上 2**31-1 以下の範囲内になければなりません。 |
581 | severe (581): Illegal RECL value
FOR$IOS_F6315。負またはゼロの記録長が直接探査ファイルに指定されました。 直接探査ファイルに対する最小の正しい記録長は 1 です。 |
582 | severe (582): Array already allocated
FOR$IOS_F6316。プログラムが,既に割り付けられている配列に対して ALLOCATE を実行しようとしました。 |
583 | severe (583): Array size zero or negative
FOR$IOS_F6317。ALLOCATE 文で配列に対して指定する大きさは,ゼロより大きくなければなりません。 |
584 | severe (584): Non-HUGE array exceeds 64K
FOR$IOS_F6318。 |
585 | severe (585): Array not allocated
FOR$IOS_F6319。プログラムが,割り付けられていない配列に対して DEALLOCATE を実行しようとしました。 |
586 | severe (586): BACKSPACE illegal on terminal device
FOR$IOS_F6400。BACKSPACE 文が,ターミナルやプリンタのようなターミナル装置に接続された装置に指定されました。 |
587 | severe (587): EOF illegal on terminal device
FOR$IOS_F6401。EOF 組込み関数が,ターミナルやプリンタのようなターミナル装置に接続された装置に指定されました。 |
588 | severe (588): ENDFILE illegal on terminal device
FOR$IOS_F6402。ENDFILE 文が,ターミナルやプリンタのようなターミナル装置に接続された装置に指定されました。 |
589 | severe (589): REWIND illegal on terminal device
FOR$IOS_F6403。REWIND 文が,ターミナルやプリンタのようなターミナル装置に接続された装置に指定されました。 |
590 | severe (590): DELETE illegal for read-only file
FOR$IOS_F6404。CLOSE 文が,読取り専用のファイルに対して STATUS='DELETE' を指定しました。 |
591 | severe (591): External I/O illegal beyond end of file
FOR$IOS_F6405。ENDFILE 文の実行後,または,読み取り操作中にファイル終了記録に遭遇した後,プログラムがファイルを探査しようとしました。 BACKSPACE,REWIND,または OPEN 文は,データを転送する I/O 文の実行の前にファイルの位置を変更するために使用されなければなりません。 |
592 | severe (592): Truncation error: file closed
FOR$IOS_F6406。 |
593 | severe (593): Terminal buffer overflow
FOR$IOS_F6407。131 文字より多い文字が,ターミナル (キーボード) に接続された装置の記録に入力されました。オペレーティング・システムが,1 記録としてターミナルに入力することができる文字数の付加的な制限を設けているかもしれないことに注意してください。 |
594 | severe (594): Comma delimiter disabled after left repositioning
FOR$IOS_F6408。記録に関連付けられたバッファの大きさを超える記録長がある場合 (たとえば,記録が OPEN 文の BLOCKSIZE で設定されるバッファを持つファイルである場合),記録内での左位置付けを行うべきではありませんし,欄区切り子としてコンマを使うべきではありません。これは,左位置付けが前のバッファの記録位置に残る場合,コンマが入力欄区切り子として利用不可になるためです。 たとえば,カンマで区切られるデータ欄を持つ 1 つの連続した記録のファイル LONG.DAT を持っていると仮定します。ファイルに関連するバッファを 512 バイトに設定し,データの 1 バッファ・サイズ以上を読み取り,前のバッファのデータに左位置付けを行い,次のデータを読み込みます。以下のようになります。 INTEGER value(300) OPEN (1, FILE = 'LONG.DAT', BLOCKSIZE = 512) READ (1, 100) (value(i), i = 1, 300) 100 FORMAT (290I2,TL50,10I2) この場合,エラー 594 が発生します。 |
599 | severe (599): File already connected to a different unit
FOR$IOS_F6413。プログラムが,新しい装置に既に接続されているファイルを接続しようとしました。 ファイルは,一度に 1 装置にのみ接続することができます。 |
600 | severe (600): Access not allowed
FOR$IOS_F6414。このエラーは,以下の 1 つが原因で発生します。
|
601 | severe (601): File already exists
FOR$IOS_F6415。OPEN 文が既に存在しているファイルに対して STATUS='NEW' を指定しました。 |
602 | severe (602): File not found
FOR$IOS_F6416。OPEN 文が存在していないファイルまたはディレクトリ・パスに対して STATUS='OLD' を指定しました。 |
603 | severe (603): Too many open files
FOR$IOS_F6417。 プログラムが,オペレーティング・システムが許容する開くことができるファイル数を超えたファイルを開こうとしました。 |
604 | severe (604): Too many units connected
FOR$IOS_F6418。プログラムが,一度に接続できる装置数を超えました。装置は,OPEN 文で接続されます。 |
605 | severe (605): Illegal structure for unformatted file
FOR$IOS_F6419。ファイルが FORM='UNFORMATTED' および ACCESS='SEQUENTIAL' で開かれましたが,内部物理構造が不正または矛盾していました。考えられる原因は,ファイルが他のモードで作成されたか,非 Fortran プログラムがファイルを作成したかです。 |
606 | severe (606): Unknown unit number
FOR$IOS_F6420。BACKSPACE または ENDFILE 文のような文が,まだ開かれていないファイルに指定されました。(READ および WRITE 文は,この問題を引き起こしません。これは,ファイルが開かれていなければ,これらはファイルを問い合わせるからです。) |
607 | severe (607): File read-only or locked against writing
FOR$IOS_F6421。プログラムが,読取り専用モードで開かれたファイルまたは書き込みに対してロックされているファイルにデータを転送しようとしました。 エラー・メッセージは,失敗が実際には WRITE から来る時も CLOSE でのエラーとして示されます。これは,ファイルが閉じられた時にプログラムがバッファリングしていたデータを書き出そうとするまで,このエラーが発見されないためです。 |
608 | severe (608): No space left on device
FOR$IOS_F6422。プログラムが,記憶域不足している 装置 (たとえば,ハードディスク) 上にあるファイルにデータを転送しようとしました。 |
609 | severe (609): Too many threads
FOR$IOS_F6423。同時にアクティブになるスレッドが多すぎました。1 度にアクティブにできるスレッドは,最大で 32 です。アプリケーション内の不要なプロセスまたは子ウィンドウを閉じてください。 |
610 | severe (610): Invalid argument
FOR$IOS_F6424。 |
611 | severe (611): BACKSPACE illegal for SEQUENTIAL write-only files
FOR$IOS_F6425。BACKSPACE 文は,MODE='WRITE' (書き込み専用) で開かれたファイルには使用できません。これは,BACKSPACE 文 が位置を決定するためにファイル中の記録を読む必要があるためです。 ファイルに読み取り特権を与えるか,BACKSPACE 文を使わないようにするかして,この問題を解決します。REWIND 文は,書き込み専用で開かれたファイルに対して有効であることに注意してください。 |
612 | severe (612): File not open for reading or file locked
FOR$IOS_F6500。プログラムが,読み取りのために開かれていないファイルまたはロックされているファイルから読み取ろうとしました。 |
613 | severe (613): End of file encountered
FOR$IOS_F6501。プログラムが,ファイルに含まれているデータ以上のデータを読み取ろうとしました。 |
614 | severe (614): Positive integer expected in repeat field
FOR$IOS_F6502。i*c 書式が並び入力で使用される時,i は正の整数でなければなりません。たとえば,以下の文を考えます。 READ(*,*) a, b 入力 2*56.7 は受け付けられますが,入力 2.1*56.7 はエラー 614 を返します。 |