转换错误
由于数据无效或数据传送语句中的数据长度不正确,因此发生转换错误。 如果输入/输出语句中存在 IOSTAT= 说明符,并且 CNVERR 选项设置为 YES,那么转换错误会导致将说明符设置为下面定义的其中一个值,并将 ERR= 标签分支到其中。 如果 IOSTAT= 和 ERR= 说明符在输入/输出语句中不存在,那么 CNVERR 选项和 ERR_RECOVERY 选项都设置为 YES,那么将执行恢复操作并继续程序。 如果输入/输出语句中不存在 IOSTAT= 和 ERR= 说明符,那么 CNVERR 选项将设置为 YES, ERR_RECOVERY 选项将设置为 NO,并且程序将停止。 如果 CNVERR 设置为 NO,那么 ERR= 标签从不分支到,但可以设置 IOSTAT= 说明符,如下所示。
| IOSTAT 值 | 错误描述 | 如果 CNVERR=NO ,那么设置 IOSTAT |
|---|---|---|
| 3 | 在未格式化的文件上遇到记录结束。 | 否 |
| 4 | 使用推进 I/O 在格式化的外部文件上遇到记录结束。 | 否 |
| 5 | 在内部文件中遇到记录结束。 | 否 |
| 7 | 在外部文件中找到的列表定向输入的格式不正确。 | 是 |
| 8 | 在内部文件中找到的列表定向输入的格式不正确。 | 是 |
| 9 | 针对内部文件的列表定向或 NAMELIST 数据项太长。 | 是 |
| 41 | 在外部文件中找不到有效逻辑输入。 | 否 |
| 42 | 在内部文件中找不到有效逻辑输入。 | 否 |
| 43 | 外部文件中期望使用表式或 NAMELIST 输入的复数值,但未找到。 | 否 |
| 44 | 内部文件中期望使用表式或 NAMELIST 输入的复数值,但未找到。 | 否 |
| 45 | 在 NAMELIST 输入中使用未知或无效的派生类型组件名称指定了 NAMELIST 项目名称。 | 否 |
| 46 | 在 NAMELIST 输入中使用无效的子字符串范围指定了 NAMELIST 项目名称。 | 否 |
| 49 | 表式或名称列表输入包含无效的定界字符串。 | 否 |
| 56 | 在 B、O 或 Z 格式编辑描述符的输入中发现无效数字。 | 否 |
| 84 | 在外部文件中找不到 NAMELIST 组头。 | 是 |
| 来自 45 家供应商的 85 个工具 | 在内部文件中找不到 NAMELIST 组头。 | 是 |
| 86 | 在外部文件中找到无效的 NAMELIST 输入值。 | 否 |
| 87 | 在内部文件中找到无效的 NAMELIST 输入值。 | 否 |
| 88 | 在 NAMELIST 输入中找到无效的名称。 | 否 |
| 90 | 输入中的 NAMELIST 组或项名称中的字符无效。 | 否 |
| 91% | NAMELIST 输入语法无效。 | 否 |
| 92 | 输入中的 NAMELIST 项的下标列表无效。 | 否 |
| 94 | 外部文件中的表式或 NAMELIST 输入的重复说明符无效。 | 否 |
| 95 | 内部文件中的表式或 NAMELIST 输入的重复说明符无效。 | 否 |
| 96 | 输入中的整数溢出。 | 否 |
| 97 | 输入中找到无效的十进制数字。 | 否 |
| 98 | 对于 B、O 或 Z 格式编辑描述符,输入过长。 | 否 |
| 121 | NAMELIST 项名或 NAMELIST 组名的输出长度大于 NLWIDTH 选项指定的最大记录长度或输出宽度。 | 是 |