例
000001 IDENTIFICATION DIVISION. 000002 PROGRAM-ID. C3488. 000003 ENVIRONMENT DIVISION. 000004 CONFIGURATION SECTION. 000005 REPOSITORY. 000006 CLASS EX-CLS AS "System.NullReferenceException". 000007 INPUT-OUTPUT SECTION. 000008 FILE-CONTROL. 000009 SELECT FILE-1 ASSIGN SYS002. 000010 DATA DIVISION. 000011 FILE SECTION. 000012 FD FILE-1 LABEL RECORD IS STANDARD. 000013 01 R2 PIC X(29). 000014 WORKING-STORAGE SECTION. 000015 01 OBJEX OBJECT REFERENCE EX-CLS. 000016 PROCEDURE DIVISION. 000017 DECLARATIVES. 000018 S-001 SECTION. 000019 USE AFTER STANDARD ERROR PROCEDURE ON INPUT. 000020 DISPLAY "ERROR !!". 000021 END DECLARATIVES. 000022 RAISE OBJEX. 000023 STOP RUN. 000024* 000025 END PROGRAM C3488.
C3488.cob (22) : JMN3488I-W RAISE文に対する適用可能な宣言手続きが存在しません.RAISE文はCONTINUE文として扱います.
詳細な説明
RAISE文は,同じ手続き内に存在するUSE文に制御を移行させることを目的とした文です.従って発生させた例外に対応するUSE文が存在しなければ,文は意味を持ちません.このような場合にはCONTINUE文として扱うことが,仕様として定められています.
ただしTRY文の中に書かれた場合は別です.TRY文の中に書かれた場合は,USE文の有無に関わらず,指定の例外を発生させます。