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

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

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>