HANDLE CONDITION ERROR の使用
このタスクについて
次の例は、COBOL のプログラム例で使用されている EXEC CICS® HANDLE CONDITION コマンドを示しています。
PROCEDURE DIVISION.
*
* INITIALIZE.
* TRAP ANY UNEXPECTED ERRORS.
EXEC CICS HANDLE CONDITION ERROR(OTHER-ERRORS) END-EXEC.
*
この例では、他の CICS コマンドの前に明示的に処理されない何らかの条件が発生した場合、ラベル OTHER-ERRORS の段落に制御が渡されます。
この例では、EXEC CICS HANDLE CONDITION ERROR は PROCEDURE DIVISION 内で実行される最初のコマンドです。その理由は、EXEC CICS HANDLE CONDITION コマンドは、処理される条件を立ち上げる可能性があるすべての CICS コマンドが処理される前に、処理される必要があるからです。そうでない場合、EXEC CICS HANDLE CONDITION は効果がありません。ただし、プログラムが HANDLE を処理するときに、プログラムからは効果が見えないことに注意してください。プログラムから効果が見えるのは、指定された条件の 1 つを実際に立ち上げる CICS コマンドをあとで発行した場合だけです。
これらの例では、一般的に RESP オプションを使用しています。RESP を持つすべてのコマンドは、特定の条件に対するすべての明示的なテストの後に、キャッチ・オール・テスト (IF RESPONSE NOT = DFHRESP(NORMAL) GO TO OTHER-ERRORS) を付けて作成されています。したがって、予期される例外を除くすべての例外が、各プログラム内の OTHER-ERRORS にある段落へ制御を移します。RESP を持たない比較的に少数のコマンドは、結果として NORMAL 以外のあらゆる条件が発生した場合、この EXEC CICS HANDLE CONDITION ERROR により、正確に同じ場所に制御を移します。