严重错误
即使使用值 YES指定了 ERR_RECOVERY 运行时选项,也无法从中恢复严重错误。 严重错误会导致 IOSTAT= 说明符设置为下面定义的值之一,并且如果输入/输出语句中存在这些说明符,那么会将 ERR= 标签分支到这些说明符。 如果迂到严重错误情况时输入/输出语句上不存在 IOSTAT= 和 ERR= 说明符,那么程序将停止。
| IOSTAT 值 | 错误描述 |
|---|---|
| 1 | 未在直接访问 READ 上指定 END=,并且该记录不存在。 |
| 2 | 内部文件的 WRITE 遇到文件结尾。 |
| 6 | 找不到文件,并且在 OPEN 语句中指定了 STATUS='OLD'。 |
| 10 | 直接文件上发生读取错误。 |
| 11 | 直接文件上发生写入错误。 |
| 12 个月 | 顺序或流文件上发生读取错误。 |
| 13 | 顺序或流文件上发生写入错误。 |
| 14 日 | 打开文件时出错。 |
| 15 日 | 在文件中遇到永久性 I/O 错误。 |
| 37 | 动态内存分配失败 - 内存不足。 |
| 38 | REWIND 错误。 |
| 39 | ENTFILE 错误。 |
| 400 | BACKSPACE 错误。 |
| 107 | 文件存在并且在 OPEN 语句中指定了 STATUS='NEW'。 |
| 119 | 在连接到磁带设备的单元上尝试了 BACKSPACE 语句。 |
| 122 | 在直接访问 READ 期间遇到不完整的记录。 |
| 130 | 在 OPEN 语句上指定了 ACTION='READWRITE' 以连接管道。 |
| 135 | 用户程序正在调用不受支持的 IBM® Open XL Fortran 运行时环境版本。 |
| 139 | 设备上不允许进行 I/O 操作,因为未使用 ACTION= 说明符的适当值打开文件。 |
| 142 | CLOSE 错误。 |
| 144 | 错误。 |
| 152 | 对于只能顺序访问的文件,在 OPEN 语句上指定了 ACCESS='DIRECT'。 |
| 153 | 在 OPEN 语句中指定 POSITION='REWIND' 或 POSITION='APPEND',并且文件是管道。 |
| 156 | OPEN 语句上的 RECL= 说明符的值无效。 |
| 159 | 无法清空外部文件输入,因为关联的设备不可搜寻。 |
| 165 | 可以读取或写入的下一条记录的记录号超出了使用 INQUIRE 语句的 NEXTREC= 说明符指定的变量范围。 |
| 169 | 无法完成异步 I/O 语句,因为连接单元仅用于同步 I/O。 |
| 172 | 连接失败,因为该文件不允许异步 I/O。 |
| 173 天 | 异步 READ 语句在同一单元的异步 WRITE 语句暂挂时执行,或者异步 WRITE 语句在同一单元的异步 READ 语句处于暂挂状态时执行。 |
| 174 | 同步 I/O 语句无法完成,因为之前的异步 I/O 语句尚未完成。 |
| 175 | 无法完成 WAIT 语句,因为 ID= 说明符的值无效。 |
| 176 | 无法完成 WAIT 语句,因为相应的异步 I/O 语句位于不同的作用域单元中。 |
| 178 | 不允许记录的异步直接 WRITE 语句,因为同一记录之前的异步直接 WRITE 语句尚未完成。 |
| 179 | 无法在该单元上执行 I/O 操作,因为该单元上仍有未完成的异步 I/O 操作。 |
| 181 | 一个文件不能连接到一个单元,因为只有同步 I/O 才允许多个连接。 |
| 182 | UWIDTH= 选项的值无效。 必须设置为 32 或 64。 |
| 183 | 单元的最大记录长度超出 INQUIRE 语句中使用 RECL= 说明符指定的标量变量的范围。 |
| 184 | 传输的数据字节数超出了在 I/O 语句中使用 SIZE= 或 NUM= 说明符指定的标量变量的范围。 |
| 185 | 一个文件不能连接到具有不同 UWIDTH 值的两个单元。 |
| 186 | 单元号必须在 0 到 2,147,483,647 范围内。 |
| 192 | 文件位置的值超出了在 INQUIRE 语句中使用 POS= 说明符指定的标量变量的范围。 |
| 193 | 文件大小的值超出 INQUIRE 语句中使用 SIZE= 说明符指定的标量变量的范围。 |
| 200 | FLUSH 错误。 |
| 201 | FLUSH 语句中指定的单元将连接到不可种子文件。 |