File io cobol Open IO:如果文件没有';不存在

File io cobol Open IO:如果文件没有';不存在,file-io,cobol,File Io,Cobol,如果你试图打开一个不存在的IO文件,然后创建一个新文件,有人知道如何捕捉cobol抛出的异常吗?我不知道你使用的是什么版本的cobol,或者你在什么平台上使用它。我的程序首先检查文件是否存在,然后再尝试打开它。我在MCP大型机平台上使用Unisys Cobol 85。这些信息是站不住脚的,但谁在乎呢 以下是每天运行的作业的一个片段: 968545 IF ATTRIBUTE RESIDENT OF OU3-WORK-LIST-FILE = VALUE TRUE 968550

如果你试图打开一个不存在的IO文件,然后创建一个新文件,有人知道如何捕捉cobol抛出的异常吗?

我不知道你使用的是什么版本的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                                    

Cathy

选择原因上的可选短语将执行以下操作:

SELECT OPTIONAL FILE-A 
   ASSIGN TO "INFILE" 
   ORGANIZATION INDEXED. 
如果打开IO,必要时将创建文件。对于开放输入,不会创建文件,但会将其视为处于EOF状态,所有随机读取都将是“无效密钥”


我很确定这是一个ANSI标准条款,但不记得它是什么时候出现的。

回答得好-我相信可选条款是在COBOL-85标准中指定的。如果您在z/os上工作,则需要添加CBLQDA(on)runtme选项(默认为OFF)。请注意,此选项在CICS下不可用。