名前
CORBA-SERVERREQUEST-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 SERVERREQUEST IN CORBA REPLACING CORBA-SERVERREQUEST BY DSI-REQUEST. 01 COPY EXCEPTION-TYPE IN CORBA REPLACING CORBA-EXCEPTION-TYPE 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-SERVERREQUEST-EXCEPTION" USING DSI-REQUEST FLAGS USER-ID PARAM ENV.
機能説明
サーバアプリケーションのメソッドが発生するユーザ例外を設定し、クライアントへ通知します。
サーバアプリケーションのオペレーションは、復帰する前に当関数を呼び出すことにより、エラー終了することができます。BOAには、CORBA-ORB-BOA-INIT関数で返されたオブジェクトリファレンスを、ENVには、オペレーション関数に渡されたENVを指定します。
FLAGSには以下の値が指定できます。
標準例外
ユーザ例外
USER-IDには、例外を識別するための識別子を指定します。
USER-IDの設定は、以下のように行います。
DATA DIVISION. 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". 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.
例外がパラメタをとるように指定されている場合は、PARAM(INFO)に例外の付加情報のアドレスを設定します。
復帰値
異常終了した場合は、ENV構造体のMAJORにはCORBA-SYSTEM-EXCEPTIONが設定され、IDとMINORに詳細情報が設定されます。
IDとMINORの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
SV-REQにNULLが指定された場合、ENV構造体のMAJORにはCORBA-USER-EXCEPTIONが設定されます。