トランザクショナル分散オブジェクト基盤 TPBroker Object Transaction Monitor プログラマーズガイド

[目次][索引][前へ][次へ]

TSCSystemException(COBOL)

TSCSystemExceptionはシステム提供例外クラスです。

COBOL85インタフェースでの例外は,各副プログラムの例外情報集団項目(CORBA-ENVIRONMENT引数)に渡されます。例外集団項目は,次に示す集団項目です。

 
01  CORBA-ENVIRONMENT.
  02  MAJOR       PIC 9(9) COMP.
    88 CORBA-NO-EXCEPTION        VALUE 0.
    88 CORBA-USER-EXCEPTION      VALUE 1.
    88 CORBA-SYSTEM-EXCEPTION    VALUE 2.
  02  EXCEP       USAGE POINTER.
  02  FUNC-NAME   PIC X(256).
 

ユーザのオペレーション呼び出し中,またはOTMのシステム処理中に例外が発生した場合,処理終了時に例外情報集団項目中のMAJORに例外種別が設定され,EXCEPに例外オブジェクトポインタが設定されます。

例外オブジェクトポインタは,次に示す例外オブジェクトを指します。

TSCSystemExceptionは,TSCシステム例外を扱うためのクラスです。ユーザはTSCSystemExceptionクラスの副プログラムを使用して,例外情報を取得できます。なお,実際の副プログラムのプリフィックスは,"TSCSysExcept"となります。

形式

 
CALL 'TSCSysExcept-getErrorCode' USING
            BY VALUE     EXCEPT-PTR
         RETURNING       ERROR-CODE.
 
CALL 'TSCSysExcept-getDetailCode' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        DETAIL-CODE.
 
CALL 'TSCSysExcept-getPlaceCode' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        PLACE-CODE.
 
CALL 'TSCSysExcept-getCompletion' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        COMPLETION-STATUS.
 
CALL 'TSCSysExcept-getMaintenance1' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        MAINTENANCE1.
 
CALL 'TSCSysExcept-getMaintenance2' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        MAINTENANCE2.
 
CALL 'TSCSysExcept-getMaintenance3' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        MAINTENANCE3.
 
CALL 'TSCSysExcept-getMaintenance4' USING
            BY VALUE      EXCEPT-PTR
         RETURNING        MAINTENANCE4.
 
CALL 'TSCSysExcept-DELETE' USING
            BY VALUE      EXCEPT-PTR.

副プログラム

●CALL 'TSCSysExcept-getErrorCode' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     ERROR-CODE.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 ERROR-CODE PIC S9(9) COMP エラーコード

障害のエラーコードを返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

エラーコードの値はTSCSysExcept-ERROR-CODEデータ項目の条件名として,$TSCDIR/include/COBOL/TSCSysExcept.cblファイルに定義されています。ユーザは必要に応じてこのファイルをCOPYできます。

エラーコードの値の順に並べた一覧を次の表に示します。

表7-6 エラーコードの一覧(COBOL)

条件名 説明
TSCSysExcept_ERR_BAD_PARAM 無効な引数を指定し副プログラムを呼び出しました。 1
TSCSysExcept_ERR_NO_MEMORY 動的メモリの割り当て障害が発生しました。 2
TSCSysExcept_ERR_COMM_FAILURE 通信障害が発生しました。 3
TSCSysExcept_ERR_NO_PERMISSION 許可されていない副プログラムを呼び出しました。 4
TSCSysExcept_ERR_INTERNAL ORB内部エラーが発生しました。 5
TSCSysExcept_ERR_MARSHAL スタブ,スケルトンでCDRマーシャルに失敗しました。 6
TSCSysExcept_ERR_INITIALIZE ORB初期化障害が発生しました。 7
TSCSysExcept_ERR_NO_IMPLEMENT オペレーションの実装が使用できません。 8
TSCSysExcept_ERR_BAD_OPERATION オペレーションが無効です。 9
TSCSysExcept_ERR_NO_RESOURCES リクエストを処理するための資源が不足しています。 10
TSCSysExcept_ERR_NO_RESPONSE リクエストに対する応答がありません。 11
TSCSysExcept_ERR_BAD_INV_ORDER 副プログラムの発行順序が不正です。 12
TSCSysExcept_ERR_TRANSIENT 一時的な障害が発生しました。 13
TSCSysExcept_ERR_NOT_EXIST 該当するオブジェクトがありません。 14
TSCSysExcept_ERR_UNKNOWN 未知の例外が発生しました。 15
TSCSysExcept_ERR_INV_OBJREF 無効なオブジェクトリファレンスが指定されました。 16
TSCSysExcept_ERR_IMP_LIMIT 実装の制限を超えました。 17
TSCSysExcept_ERR_BAD_TYPECODE タイプコードが不正です。 18
TSCSysExcept_ERR_PERSIST_STORE パーシステントストレージに障害が発生しました。 19
TSCSysExcept_ERR_FREE_MEM メモリの解放に失敗しました。 20
TSCSysExcept_ERR_INV_IDENT 識別子が不正です。 21
TSCSysExcept_ERR_INV_FLAG 不正なフラグが指定されました。 22
TSCSysExcept_ERR_INTF_REPOS インタフェースリポジトリへのアクセス中に障害が発生しました。 23
TSCSysExcept_ERR_BAD_CONTEXT コンテキストオブジェクトの処理中に障害が発生しました。 24
TSCSysExcept_ERR_OBJ_ADAPTER オブジェクトアダプタが障害を検出しました。 25
TSCSysExcept_ERR_DATA_CONV データ変換に失敗しました。 26

個々のエラーコードの詳細については,「付録A エラーコード一覧」を参照してください。

●CALL 'TSCSysExcept-getDetailCode' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     DETAIL-CODE.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 DETAIL-CODE PIC S9(9) COMP 内容コード

障害の内容コードを返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

個々の内容コードの詳細については,「付録D 内容コード一覧」を参照してください。

●CALL 'TSCSysExcept-getPlaceCode' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     PLACE-CODE.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 DETAIL-CODE PIC S9(9) COMP 場所コード

障害の場所コードを返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

場所コードの値は,TSCSysExcept-PLACE-CODEデータ項目の条件名として,$TSCDIR/include/COBOL/TSCSysExcept.cblファイルに定義されています。ユーザは必要に応じてこのファイルをCOPYできます。

場所コードの値の順に並べた一覧を次の表に示します。

表7-7 場所コードの一覧(COBOL)

条件名 場所
TSCSysExcept_PLACE_USER_AP ユーザアプリケーション 1
TSCSysExcept_PLACE_SERV OTMのサーバ機能部分 2
TSCSysExcept_PLACE_DAEMON TSCデーモン 3
TSCSysExcept_PLACE_CLNT OTMのクライアント機能部分 4
TSCSysExcept_PLACE_CLNT_REG TSCレギュレータ 5
TSCSysExcept_PLACE_STUB スタブ 6
TSCSysExcept_PLACE_SKELTON スケルトン 7
TSCSysExcept_PLACE_ORBGW TSCORBコネクタ 8

●CALL 'TSCSysExcept-getCompletion' USING

             BY VALUE   EXCEPT-PTR
          RETURNING     COMPLETION-STATUS.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 COMPLETION-STATUS PIC S9(9) COMP 完了状態

障害発生時の副プログラム呼び出しの完了状態を返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

完了状態の値は,TSCSysExcept-COMPLETION-STATUSデータ項目の条件名として,$TSCDIR/include/COBOL/TSCSysExcept.cblファイルに定義されています。ユーザは必要に応じてこのファイルをCOPYできます。

完了状態の値の順に並べた一覧を次の表に示します。

表7-8 完了状態の一覧(COBOL)

完了状態 説明
TSCSysExcept_COMPLETED_NO 副プログラム呼び出しが完了していません。 -1
TSCSysExcept_COMPLETED_MAYBE 副プログラム呼び出しの完了状態を決定できません。 0
TSCSysExcept_COMPLETED_YES 副プログラム呼び出しの処理が完了しています。 1

●CALL 'TSCSysExcept-getMaintenance1' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     MAINTENANCE1.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 MAINTENANCE1 PIC S9(9) COMP 保守コード1

障害の保守コード1を返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

●CALL 'TSCSysExcept-getMaintenance2' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     MAINTENANCE2.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 MAINTENANCE2 PIC S9(9) COMP 保守コード2

障害の保守コード2を返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

●CALL 'TSCSysExcept-getMaintenance3' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     MAINTENANCE3.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 MAINTENANCE3 PIC S9(9) COMP 保守コード3

障害の保守コード3を返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

●CALL 'TSCSysExcept-getMaintenance4' USING

            BY VALUE   EXCEPT-PTR
         RETURNING     MAINTENANCE4.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 MAINTENANCE4 PIC S9(9) COMP 保守コード4

障害の保守コード4を返します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

●CALL 'TSCSysExcept-DELETE' USING

           BY VALUE      EXCEPT-PTR.
 
項目 型・(入出力の区別)意味
引数 BY VALUE EXCEPT-PTR USAGE POINTER (入力)例外オブジェクトポインタ
戻り値 ありません。

指定したTSCSystemExceptionを解放します。EXCEPT-PTR引数がOTMのシステム例外でない場合,動作が常に同じになるという保証はありません。

マルチスレッド環境でのメソッド呼び出し規則

マルチスレッド環境で,TSCSystemExceptionクラスのインスタンスの副プログラムを呼び出す規則を次に示します。

副プログラム 複数のスレッド上からの同時呼び出し
TSCSysExcept-getErrorCode できます。
TSCSysExcept-getDetailCode できます。
TSCSysExcept-getPlaceCode できます。
TSCSysExcept-getCompletionStatus できます。
TSCSysExcept-getMaintenanceCode1 できます。
TSCSysExcept-getMaintenanceCode2 できます。
TSCSysExcept-getMaintenanceCode3 できます。
TSCSysExcept-getMaintenanceCode4 できます。