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 | できます。 |