例
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文の有無に関わらず,指定の例外を発生させます。