如果您尝试打开一个不存在的 IO 文件,然后创建一个新文件,那么有谁知道如何捕获 cobol 抛出的异常?
问问题
3343 次
2 回答
5
SELECT 原因上的 OPTIONAL 短语将执行此操作:
SELECT OPTIONAL FILE-A
ASSIGN TO "INFILE"
ORGANIZATION INDEXED.
如果 OPEN IO,将在必要时创建文件。对于 OPEN INPUT,文件不会被创建,而是被视为处于 EOF 并且所有随机读取都将是“INVALID KEY”。
我很确定这是一个 ANSI 标准条款,但不记得它是什么时候出现的。
于 2009-12-16T23:46:07.003 回答
1
我不知道您使用的是什么版本的 Cobol 或您在什么平台上使用它。我的程序在尝试打开文件之前首先检查文件是否存在。我在 MCP 大型机平台上使用 Unisys Cobol 85。消息很蹩脚,但谁在乎呢?
这是每天运行的作业的片段:
968545 IF ATTRIBUTE RESIDENT OF OU3-WORK-LIST-FILE = VALUE TRUE
968550 DISPLAY "PROGRAM SHOWS ATTRIBUTE TRUE"
968555 OPEN EXTEND OU3-WORK-LIST-FILE
968560 ELSE
968565 DISPLAY "PROGRAM SHOWS FALSE"
968570 OPEN OUTPUT OU3-WORK-LIST-FILE
968575 END-IF.
968580
凯茜
于 2009-12-16T22:38:17.663 回答