转换错误

由于数据无效或数据传送语句中的数据长度不正确,因此发生转换错误。 如果输入/输出语句中存在 IOSTAT= 说明符,并且 CNVERR 选项设置为 YES,那么转换错误会导致将说明符设置为下面定义的其中一个值,并将 ERR= 标签分支到其中。 如果 IOSTAT=ERR= 说明符在输入/输出语句中不存在,那么 CNVERR 选项和 ERR_RECOVERY 选项都设置为 YES,那么将执行恢复操作并继续程序。 如果输入/输出语句中不存在 IOSTAT=ERR= 说明符,那么 CNVERR 选项将设置为 YESERR_RECOVERY 选项将设置为 NO,并且程序将停止。 如果 CNVERR 设置为 NO,那么 ERR= 标签从不分支到,但可以设置 IOSTAT= 说明符,如下所示。

表 1. 转换错误条件的 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 选项指定的最大记录长度或输出宽度。