ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)

4.8.5 CORBA-SERVERREQUEST-EXCEPTION

名前

  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には以下の値が指定できます。

  CORBA-SYSTEM-EXCEPTION

  標準例外

  CORBA-USER-EXCEPTION

  ユーザ例外

  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が設定されます。