This section describes in detail Visual Fortran run-time errors 31 through 60.
In the following table, the first column lists error numbers returned to IOSTAT variables when an I/O error is detected.
The first line of the second column provides the message as it is displayed (following forrtl:), including the severity level, message number, and the message text. The following lines of the second column contain the status condition symbol (such as FOR$IOS_INCRECTYP) and an explanation of the message.
For information about severity levels, see the Introduction.
Number | Severity Level, Number, and Message Text; Condition Symbol and Explanation |
---|---|
31 | severe (31): Mixed file access modes
FOR$IOS_MIXFILACC. An attempt was made to use any of the following combinations:
|
32 | severe (32): Invalid logical unit number
FOR$IOS_INVLOGUNI. A logical unit number greater than 2,147,483,647 or less than zero was used in an I/O statement. |
33 | severe (33): ENDFILE error
FOR$IOS_ENDFILERR. One of the following conditions occurred:
|
34 | severe (34): Unit already open
FOR$IOS_UNIALROPE. A DEFINE FILE statement specified a logical unit that was already opened. |
35 | severe (35): Segmented record format error
FOR$IOS_SEGRECFOR. An invalid segmented record control data word was detected in an unformatted sequential file. The file was probably either created with RECORDTYPE='FIXED' or 'VARIABLE' in effect, or was created by a program written in a language other than Fortran or Fortran 90. |
36 | severe (36): Attempt to access non-existent record
FOR$IOS_ATTACCNON. A direct-access READ or FIND statement attempted to access beyond the end of a relative file (or a sequential file on disk with fixed-length records) or access a record that was previously deleted from a relative file. |
37 | severe (37): Inconsistent record length
FOR$IOS_INCRECLEN. An attempt was made to open a direct access file without specifying a record length. |
38 | severe (38): Error during write
FOR$IOS_ERRDURWRI. The Compaq Fortran RTL I/O system detected an error condition during execution of a WRITE statement. |
39 | severe (39): Error during read
FOR$IOS_ERRDURREA. The Compaq Fortran RTL I/O system detected an error condition during execution of a READ statement. |
40 | severe (40): Recursive I/O operation
FOR$IOS_RECIO_OPE. While processing an I/O statement for a logical unit, another I/O operation on the same logical unit was attempted, such as a function subprogram that performs I/O to the same logical unit that was referenced in an expression in an I/O list or variable format expression. |
411,2 | severe (41): Insufficient virtual memory
FOR$IOS_INSVIRMEM. The Compaq Fortran RTL attempted to exceed its available virtual memory while dynamically allocating space. To overcome this problem, investigate increasing the data limit (Control Panel, System, Performance Tab, Virtual Memory). Before you try to run this program again, wait until the new system resources take effect. |
42 | severe (42): No such device
FOR$IOS_NO_SUCDEV. A pathname included an invalid or unknown device name when an OPEN operation was attempted. |
43 | severe (43): File name specification error
FOR$IOS_FILNAMSPE. A pathname or file name given to an OPEN or INQUIRE statement was not acceptable to the Compaq Fortran RTL I/O system. |
44 | severe (44): Inconsistent record type
FOR$IOS_INCRECTYP. The RECORDTYPE value in an OPEN statement did not match the record type attribute of the existing file that was opened. |
45 | severe (45): Keyword value error in OPEN statement
FOR$IOS_KEYVALERR. An improper value was specified for an OPEN or CLOSE statement specifier requiring a value. |
46 | severe (46): Inconsistent OPEN/CLOSE parameters
FOR$IOS_INCOPECLO. Specifications in an OPEN or CLOSE statement were inconsistent. Some invalid combinations follow:
|
47 | severe (47): Write to READONLY file
FOR$IOS_WRIREAFIL. A write operation was attempted to a file that was declared ACTION='READ' or READONLY in the OPEN statement that is currently in effect. |
48 | severe (48): Invalid argument to Fortran Run-Time Library
FOR$IOS_INVARGFOR. The compiler passed an invalid or improperly coded argument to the Compaq Fortran RTL. This can occur if the compiler is newer than the RTL in use. |
51 | severe (51): Inconsistent file organization
FOR$IOS_INCFILORG. The file organization specified in an OPEN statement did not match the organization of the existing file. |
53 | severe (53): No current record
FOR$IOS_NO_CURREC. Attempted to execute a REWRITE statement to rewrite a record when the current record was undefined. To define the current record, execute a successful READ statement. You can optionally perform an INQUIRE statement on the logical unit after the READ statement and before the REWRITE statement. No other operations on the logical unit may be performed between the READ and REWRITE statements. |
55 | severe (55): DELETE error
FOR$IOS_DELERR. An error condition was detected by the Compaq Fortran RTL I/O system during execution of a DELETE statement. |
57 | severe (57): FIND error
FOR$IOS_FINERR. The Compaq Fortran RTL I/O system detected an error condition during execution of a FIND statement. |
583 | info (58): Format syntax error at or near xx
FOR$IOS_FMTSYN. Check the statement containing xx, a character substring from the format string, for a format syntax error. For more information, see the FORMAT statement. |
594 | severe (59): List-directed I/O syntax error
FOR$IOS_LISIO_SYN. The data in a list-directed input record had an invalid format, or the type of the constant was incompatible with the corresponding variable. The value of the variable was unchanged. |
60 | severe (60): Infinite format loop
FOR$IOS_INFFORLOO. The format associated with an I/O statement that included an I/O list had no field descriptors to use in transferring those values. |
2Identifies errors that can be returned by STAT in a DEALLOCATE statement.
3Identifies errors not returned by IOSTAT.
4The ERR transfer is taken after completion of the I/O statement for error number 59. The resulting file status and record position are the same as if no error had occurred. However, other I/O errors take the ERR transfer as soon as the error is detected, so file status and record position are undefined.