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_INTERNALORB内部エラーが発生しました。5
TSCSysExcept_ERR_MARSHALスタブ,スケルトンでCDRマーシャルに失敗しました。6
TSCSysExcept_ERR_INITIALIZEORB初期化障害が発生しました。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_SERVOTMのサーバ機能部分2
TSCSysExcept_PLACE_DAEMONTSCデーモン3
TSCSysExcept_PLACE_CLNTOTMのクライアント機能部分4
TSCSysExcept_PLACE_CLNT_REGTSCレギュレータ5
TSCSysExcept_PLACE_STUBスタブ6
TSCSysExcept_PLACE_SKELTONスケルトン7
TSCSysExcept_PLACE_ORBGWTSCORBコネクタ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できます。