Handling errors in QSAM files
When an input statement or output statement fails, COBOL does not take corrective action for you. You choose whether your program should continue running after a less-than-severe input or output error occurs.
COBOL provides these ways for you to intercept and handle certain QSAM input and output errors:
- End-of-file phrase (
AT END
) EXCEPTION/ERROR
declarativeFILE STATUS
clauseINVALID KEY
phrase
If you do not code a FILE STATUS
key or
a declarative, serious QSAM processing errors will cause a message
to be issued and a Language Environment® condition
to be signaled, which will cause an abend if you specify the runtime
option ABTERMENC(ABEND)
.
If you use the FILE
STATUS
clause or the EXCEPTION/ERROR
declarative,
code EROPT=ACC
in the DCB
of the DD
statement
for that file. Otherwise, your COBOL program will not be able to continue
processing after some error conditions.
If you use the FILE
STATUS
clause, be sure to check the key and take appropriate
action based on its value. If you do not check the key, your program
might continue, but the results will probably not be what you expected.