TSCSystemExceptionの派生クラス(C++)
TSCSystemExceptionの派生クラスはシステム提供例外クラスです。
次にTSCSystemExceptionの特徴を示します。
各種例外クラス
各種例外クラスの一覧を,アルファベット順で次の表に示します。
表3-9 OTMのシステム例外(C++)
例外名 | 説明 |
---|---|
TSCBadContextException | コンテキストオブジェクトの処理中に障害が発生しました。 |
TSCBadInvOrderException | ルーチン呼び出しの順番が不正です。 |
TSCBadOperationException | オペレーションが無効です。 |
TSCBadParamException | 無効パラメタが渡されました。 |
TSCBadTypecodeException | タイプコードが不正です。 |
TSCCommFailureException | 通信障害が発生しました。 |
TSCDataConversionException | データ変換に失敗しました。 |
TSCFreeMemException | メモリの解放に失敗しました。 |
TSCImpLimitException | 実装の制限を超えました。 |
TSCInitializeException | ORB初期化障害が発生しました。 |
TSCInternalException | ORB内部エラーが発生しました。 |
TSCIntfReposException | インタフェースリポジトリへのアクセス中に障害が発生しました。 |
TSCInvFlagException | 不正なフラグが指定されました。 |
TSCInvIdentException | 識別子の構文が不正です。 |
TSCInvObjrefException | 無効なオブジェクトリファレンスが指定されました。 |
TSCMarshalException | スタブ,スケルトンでCDRマーシャルに失敗しました。 |
TSCNoImplementException | オペレーションの実装が使用できません。 |
TSCNoMemoryException | 動的メモリの割り当て障害が発生しました。 |
TSCNoPermissionException | 許可されていないオペレーションを実行しようとしました。 |
TSCNoResourcesException | リクエストを処理するための資源が不足しています。 |
TSCNoResponseException | リクエストに対する応答がありません。 |
TSCObjAdapterException | オブジェクトアダプタが障害を検出しました。 |
TSCObjectNotExistException | 該当するオブジェクトがありません。 |
TSCPersistStoreException | パーシステントストレージに障害が発生しました。 |
TSCTransientException | 一時的な障害が発生しました。 |
TSCUnknownException | 未知の例外が発生しました。 |
内容コード
ユーザがTSCSystemExceptionの派生クラスのインスタンスを生成してthrowする場合,ユーザアプリケーション用に割り当てられている値を内容コードに設定してください。
OTMの内容コードの分類を次の表に示します。
表3-10 OTMの内容コードの分類(C++)
分類 | 内容コードの範囲 |
---|---|
ユーザアプリケーション用 | 0~999 |
OTMシステム予約 | 1000~30000 |
個々の内容コードの詳細については,「付録D 内容コード一覧」を参照してください。
場所コード
場所コードは障害が発生した場所を示します。ユーザがTSCSystemExceptionの派生クラスのインスタンスを生成してthrowする場合,PLACE_CODE_USER_APを設定してください。
OTMの場所コードの一覧を次の表に示します。
表3-11 OTMの場所コード(C++)
場所コード | 場所 |
---|---|
PLACE_CODE_USER_AP | ユーザアプリケーション |
PLACE_CODE_SERV | OTMのサーバ機能部分 |
PLACE_CODE_DAEMON | TSCデーモン |
PLACE_CODE_CLNT | OTMのクライアント機能部分 |
PLACE_CODE_CLNT_REG | TSCレギュレータ |
PLACE_CODE_STUB | スタブ |
PLACE_CODE_SKELTON | スケルトン |
PLACE_CODE_ORBGW | TSCORBコネクタ |
完了状態
完了状態は,障害が発生したときにメソッド呼び出しが完了しているかどうかを示します。
OTMの完了状態の一覧を次の表に示します。
表3-12 OTMの完了状態(C++)
完了状態 | 意味 |
---|---|
COMPLETED_NO | メソッド呼び出しが完了していません。 |
COMPLETED_MAYBE | メソッド呼び出しの完了状態を決定できません。 |
COMPLETED_YES | メソッド呼び出しが完了しています。 |
形式
class TSCBadContextException
: public TSCSystemException
{
public:
TSCBadContextException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCBadInvOrderException
: public TSCSystemException
{
public:
TSCBadInvOrderException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCBadOperationException
: public TSCSystemException
{
public:
TSCBadOperationException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCBadParamException
: public TSCSystemException
{
public:
TSCBadParamException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCBadTypecodeException
: public TSCSystemException
{
public:
TSCBadTypecodeException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCCommFailureException
: public TSCSystemException
{
public:
TSCCommFailureException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCDataConversionException
:public TSCSystemException
{
public:
TSCDataConversionException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCFreeMemException
: public TSCSystemException
{
public:
TSCFreeMemException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCImpLimitException
: public TSCSystemException
{
public:
TSCImpLimitException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCInitializeException
: public TSCSystemException
{
public:
TSCInitializeException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCInternalException
: public TSCSystemException
{
public:
TSCInternalException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCIntfReposException
: public TSCSystemException
{
public:
TSCIntfReposException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCInvFlagException
: public TSCSystemException
{
public:
TSCInvFlagException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCInvIdentException
: public TSCSystemException
{
public:
TSCInvIdentException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCInvObjrefException
: public TSCSystemException
{
public:
TSCInvObjrefException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCMarshalException
: public TSCSystemException
{
public:
TSCMarshalException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCNoImplementException
: public TSCSystemException
{
public:
TSCNoImplementException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCNoMemoryException
: public TSCSystemException
{
public:
TSCNoMemoryException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCNoPermissionException
: public TSCSystemException
{
public:
TSCNoPermissionException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCNoResourcesException
: public TSCSystemException
{
public:
TSCNoResourcesException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCNoResponseException
: public TSCSystemException
{
public:
TSCNoResponseException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCObjAdapterException
: public TSCSystemException
{
public:
TSCObjAdapterException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCObjectNotExistException
: public TSCSystemException
{
public:
TSCObjectNotExistException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCPersistStoreException
: public CORBA::PERSIST_STORE, public TSCSystemException
{
public:
TSCPersistStoreException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCTransientException
:public TSCSystemException
{
public:
TSCTransientException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
class TSCUnknownException
: public TSCSystemException
{
public:
TSCUnknownException(TSCInt detail_code,
TSCInt place_code,
TSCInt completion_status,
TSCInt maintenance_code1,
TSCInt maintenance_code2,
TSCInt maintenance_code3,
TSCInt maintenance_code4);
};
インクルードファイル
#include <tscexcept.h>