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

4.4.4 CORBA-BOA-SET-EXCEPTION

名前

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

  CORBA-SYSTEM-EXCEPTION

  標準例外

  CORBA-USER-EXCEPTION

  ユーザ例外

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