1

打开输入行顺序文件的错误处理命令是什么?

我试过了,

OPEN INPUT CUSTOMER-FILE
INVALID KEY/ON ERROR
DISPLAY "NO FILE FOUND".

但无法让它工作。

谢谢。

4

2 回答 2

3

在 FILE-CONTROL 中,将 FILE STATUS 子句添加到文件的 SELECT 中,并在 PROCEDURE DIVISION 中检查您指定的文件状态变量的值与每次文件交互后的记录值。

于 2014-08-08T11:46:58.227 回答
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 文档中找到特定的错误代码。

于 2014-08-29T12:42:09.347 回答