打开输入行序列文件的错误处理命令是什么?
我试过了,
OPEN INPUT CUSTOMER-FILE
INVALID KEY/ON ERROR
DISPLAY "NO FILE FOUND".
但无法让它发挥作用。
感谢。
答案 0 :(得分:3)
在FILE-CONTROL中,将FILE STATUS子句添加到文件的SELECT中,并在PROCEDURE DIVISION中检查在每次文件交互后根据记录的值指定的文件状态变量的值。
答案 1 :(得分:0)
我同意使用文件状态,它更灵活,您可以在一个解决方案中处理所有错误。以下是您需要的大部分代码:
FILE-CONTROL.
SELECT FILENAME ASSIGN TO FILENAME
FILE STATUS IS WS-FS-FILENAME.
*I used WS-FS-FILENAME so I know it's declared in Working Storage and connected to File *Section.
DATA DIVISION.
FILE SECTION.
FD FILENAME RECORDING ....
BLOCK ...
RECORD ....
LABEL RECORD ....
DATA RECORD ...
.....
01 FILENAME-REC PIC X(N).
WORKING-STORAGE SECTION.
01 WS-FS-FILENAME PIC XX.
==================================================
OPEN OUTPUT FILENAME.
IF WS-FS-FILENAME NOT = '00' THEN
DISPLAY 'ERROR OPENING FILENAME'
DISPLAY 'ERROR CODE IS : ', WS-FS-FILENAME
PERFORM EXIT-WITH-ERROR
END-IF.
WRITE FILENAME-REC.
IF WS-FS-FILENAME NOT = '00'
DISPLAY 'WRITE ERROR ON FILENAME. '
DISPLAY 'STATUS :' WS-FS-FILENAME
PERFORM EXIT-WITH-ERROR
END-IF.
等等,阅读它,关闭它。
您也可以在Cobol文档中找到特定的错误代码。