cobol Open-IO:如果文件不存在则创建文件

发布于 2024-08-14 21:45:27 字数 58 浏览 4 评论 0原文

有谁知道如果您尝试打开一个不存在的 IO 文件,然后创建一个新文件,如何捕获 cobol 抛出的异常?

Does anyone have an idea how you can catch the exception that cobol throws if you try to open an IO file if it doesn't exist, and then create a new file?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风尘浪孓 2024-08-21 21:45:27

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

SELECT OPTIONAL FILE-A 
   ASSIGN TO "INFILE" 
   ORGANIZATION INDEXED. 

如果 OPEN IO,则将在必要时创建文件。对于 OPEN INPUT,文件不会被创建,而是被视为处于 EOF,并且所有随机读取都将是“INVALID KEY”。

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

The OPTIONAL phrase on the SELECT cause will do this:

SELECT OPTIONAL FILE-A 
   ASSIGN TO "INFILE" 
   ORGANIZATION INDEXED. 

If OPEN IO the file will be created if necessary. For OPEN INPUT, the file not be created but treated as being at EOF and all random reads will be "INVALID KEY".

I'm pretty sure this is an ANSI standard clause, but can't remember when it showed up.

孤独岁月 2024-08-21 21:45:27

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

I don't know what version of Cobol you use or what platform you use it on. My program checks first to see if the file exists before it tries to open it. I use Unisys Cobol 85 on the MCP mainframe platform. The messages are lame, but who cares?

Here is a snippet from a job that runs daily:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文