名前
CORBA-BOA-SET-EXCEPTION
形式
ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CONSTANT COPY SYMBOL-CONST IN CORBA. . DATA DIVISION. WORKING-STORAGE SECTION. COPY CONST IN CORBA. 01 COPY BOA IN CORBA REPLACING CORBA-BOA BY BOA. 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY FLAGS. 01 USER-ID USAGE POINTER. 01 PARAM USAGE POINTER. 01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. PROCEDURE DIVISION. CALL "CORBA-BOA-SET-EXCEPTION" USING BOA FLAGS USER-ID PARAM ENV.
機能説明
例外情報を設定します。サーバアプリケーションのオペレーションは、復帰する前に当関数を呼び出すことにより、エラー終了することができます。BOAには、CORBA-ORB-BOA-INIT関数で返されたオブジェクトリファレンスを、ENVには、オペレーション関数に渡されたENVを指定します。
FLAGSには以下の値が指定できます。
標準例外
ユーザ例外
USER-IDには、例外を識別するための識別子を指定します。
例外がパラメタをとるように指定されている場合は、PARAMに例外の付加情報を設定します。例外情報の設定例を以下に示します。
DATA DIVISION. WORKING-STORAGE SECTION. 01 COPY ULONG IN CORBA REPLACING CORBA-UNSIGNED-LONG BY USER-ID-LENGTH. 01 EXCEP-ID-V PIC X(20) VALUE "IDL:INTF_A/EXC_A:1.0". LINKAGE SECTION. 01 EXCEP. 03 COPY LONG IN CORBA REPLACING CORBA-LONG BY EXCEP-L. PROCEDURE DIVISION. MOVE FUNCTION LENG(EXCEP-ID-V) TO USER-ID-LENGTH. CALL "CORBA-STRING-SET" USING USER-ID USER-ID-LENGTH EXCEP-ID-V. CALL "INTF-A-EXC-A-ALLOC" USING PARAM. SET ADDRESS OF EXCEP TO PARAM. MOVE 0 TO EXCEP-L OF EXCEP.
復帰値
BOAにNULLが指定された場合、ENV構造体のMAJORにはCORBA-USER-EXCEPTIONが設定されます。