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

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

TSCSystemException(Java)

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

TSCSystemExceptionは,OTMでの例外用の基本クラスです。次にTSCSystemExceptionの特徴を示します。

エラーコード

エラーコードはTSCSystemExceptionクラスの派生クラスに対応するコードです。TSCSystemExceptionクラスの型で例外をcatchした場合,エラーコードを参照することで例外の種類を知ることができます。

定数値の順に並べたエラーコードの一覧を次の表に示します。エラーコードに対応する各派生クラスについては,この章の「TSCSystemExceptionの派生クラス(Java)」を参照してください。

表5-5 エラーコードの一覧(Java)

エラーコード 例外クラス
BAD_PARAM TSCBadParamException
NO_MEMORY TSCNoMemoryException
COMM_FAILURE TSCCommFailureException
NO_PERMISSION TSCNoPermissionException
INTERNAL TSCInternalException
MARSHAL TSCMarshalException
INITIALIZE TSCInitializeException
NO_IMPLEMENT TSCNoImplementException
BAD_OPERATION TSCBadOperationException
NO_RESOURCES TSCNoResourcesException
NO_RESPONSE TSCNoResponseException
BAD_INV_ORDER TSCBadInvOrderException
TRANSIENT TSCTransientException
OBJECT_NOT_EXIST TSCObjectNotExistException
UNKNOWN TSCUnknownException
INV_OBJREF TSCInvObjrefException
IMP_LIMIT TSCImpLimitException
BAD_TYPECODE TSCBadTypecodeException
PERSIST_STORE TSCPersistStoreException
FREE_MEM TSCFreeMemException
INV_IDENT TSCInvIdentException
INV_FLAG TSCInvFlagException
INTF_REPOS TSCIntfReposException
BAD_CONTEXT TSCBadContextException
OBJ_ADAPTER TSCObjAdapterException
DATA_CONVERSION TSCDataConversionException

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

内容コード

内容コードは,障害の詳しい情報を示すコードです。エラーコード間で内容コードが重複することはないため,ユニークな定数を持ちます。したがって,TSCSystemExceptionクラスの型で例外をcatchする場合,内容コードを参照することで詳細な情報を知ることができます。ユーザがTSCSystemExceptionの派生クラスのインスタンスを生成してthrowする場合,ユーザ用に割り当てられている値を内容コードに設定してください。

内容コードの分類を次の表に示します。

表5-6 内容コードの分類(Java)

分類 内容コードの範囲
ユーザアプリケーション用 0〜999
OTMシステム予約 1000〜30000

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

場所コード

場所コードは障害が発生した場所を示します。ユーザがTSCSystemExceptionの派生クラスのインスタンスを生成してthrowする場合,PLACE_CODE_USER_APを設定してください。

場所コードの一覧を次の表に示します。

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

場所コード 場所
PLACE_CODE_USER_AP ユーザアプリケーション
PLACE_CODE_SERV OTMのサーバ機能部分
PLACE_CODE_DAEMON TSCデーモン
PLACE_CODE_CLNT OTMのクライアント機能部分
PLACE_CODE_CLNT_REG TSCレギュレータ
PLACE_CODE_STUB TSCユーザプロキシ(スタブ)
PLACE_CODE_SKELTON TSCユーザスケルトン(スケルトン)
PLACE_CODE_ORBGW TSCORBコネクタ

完了状態

完了状態は,障害が発生したときにメソッド呼び出しが完了しているかどうかを示します。

完了状態の一覧を次の表に示します。

表5-8 完了状態の一覧(Java)

完了状態 説明
COMPLETED_NO メソッド呼び出しが完了していません。
COMPLETED_MAYBE メソッド呼び出しの完了状態を決定できません。
COMPLETED_YES メソッド呼び出しが完了しています。

形式

 
public class TSCSystemException extends java.lang.RuntimeException
{
  //各種情報取得
  public int getErrorCode();
  public int getDetailCode();
  public int getPlaceCode();
  public int getCompletionStatus();
  public int getMaintenanceCode1();
  public int getMaintenanceCode2();
  public int getMaintenanceCode3();
  public int getMaintenanceCode4();
 
  //エラーコード
  public static final int BAD_PARAM = 1;
  public static final int NO_MEMORY = 2;
  public static final int COMM_FAILURE = 3;
  public static final int NO_PERMISSION = 4;
  public static final int INTERNAL = 5;
  public static final int MARSHAL = 6;
  public static final int INITIALIZE = 7;
  public static final int NO_IMPLEMENT = 8;
  public static final int BAD_OPERATION = 9;
  public static final int NO_RESOURCES = 10;
  public static final int NO_RESPONSE = 11;
  public static final int BAD_INV_ORDER = 12;
  public static final int TRANSIENT = 13;
  public static final int OBJECT_NOT_EXIST = 14;
  public static final int UNKNOWN = 15;
  public static final int INV_OBJREF = 16;
  public static final int IMP_LIMIT = 17;
  public static final int BAD_TYPECODE = 18;
  public static final int PERSIST_STORE = 19;
  public static final int FREE_MEM = 20;
  public static final int INV_IDENT = 21;
  public static final int INV_FLAG = 22;
  public static final int INTF_REPOS = 23;
  public static final int BAD_CONTEXT = 24;
  public static final int OBJ_ADAPTER = 25;
  public static final int DATA_CONVERSION = 26;
 
  //
  //詳細コード
  //
  //BAD_PARAM
  public static final int INVALID_TIMEOUT = 1001;
  public static final int INVALID_RT_ACPT_NAME = 1002;
  public static final int INVALID_PARALLEL_COUNT = 1003;
  public static final int INVALID_ACPT_NAME = 1004;
  public static final int OBJ_FACT_IS_NULL = 1005;
  public static final int ACPT_IS_NULL = 1006;
  public static final int INVALID_ACPT_REGID = 1007;
  public static final int INVALID_TSCID = 1008;
  public static final int INVALID_DOMAIN_NAME = 1009;
  public static final int INVALID_OP_PARAM = 1010;
  public static final int SERV_IS_NULL = 1011;
  public static final int CLNT_IS_NULL = 1012;
  public static final int ORB_IS_NULL = 1013;
  public static final int DOMAIN_IS_NULL = 1015;
  public static final int INVALID_REQUEST_WAY = 1016;
  public static final int INVALID_PRIORITY = 1017;
  public static final int THREAD_FACT_IS_NULL = 1018;
  public static final int PROXY_IS_NULL = 1020;
  public static final int OBJECT_IS_NULL = 1021;
  public static final int INVALID_FLAG = 1022;
  public static final int INVALID_WATCH_TIME = 1027;
  public static final int WATCH_TIME_IS_NULL = 1028;
  public static final int INVALID_RETRY_REQUIREMENT = 1029;
  public static final int INVALID_SESSION_INTERVAL = 1038;
  public static final int INVALID_QUEUE_LENGTH = 1047;
 
  //NO_MEMORY
  public static final int MEM_ALLOC_FAILURE = 2001;
 
  //COMM_FAILURE
  public static final int SEND_CLNT_FAILURE = 3004;
  public static final int SEND_THIN_CLNT_FAILURE = 3005;
  public static final int SEND_SERV_FAILURE = 3006;
  public static final int SEND_TSCD_FAILURE = 3007;
  public static final int BASIC_CONN_FAILURE = 3009;
  public static final int CONN_FAILURE = 3010;
  public static final int INCOMPATIBLE_PROTOCOL = 3011;
  public static final int NOT_IGNORE_PROTOCOL = 3012;
  public static final int DEACTIVATE_FAILURE = 3021;
 
  //NO_PERMISSION
  public static final int CALL_IN_HOLD = 4001;
  public static final int RT_ACPT_IS_ACTIVE = 4002;
  public static final int SERV_CONN_IN_END = 4005;
  public static final int ACTIVATE_IN_END = 4006;
  public static final int CLNT_CONN_IN_END = 4007;
  public static final int DIFF_THREAD_CALL = 4008;
  public static final int CALL_IN_END = 4009;
  public static final int ACPT_NOT_REGISTED = 4010;
  public static final int SERV_CONN_IN_START = 4011;
  public static final int CLNT_CONN_IN_START = 4012;
  public static final int TSCD_IS_NOT_MY_HOST = 4013;
  public static final int OVER_ACPT_REGI = 4014;
  public static final int NOT_SUPPORTED = 4015;
  public static final int ACTIVATE_IN_START = 4016;
  public static final int DEACTIVATE_IN_END =4018;
  public static final int CLNT_DISCONN_IN_END = 4020;
  public static final int ACTIVATE_WITH_DIFF_PROP = 4022;
  public static final int CLNT_INIT_IN_END = 4023;
  public static final int SERV_INIT_IN_END = 4024;
  public static final int CLNT_INIT_IN_START = 4025;
  public static final int SERV_INIT_IN_START = 4026;
  public static final int NOT_ACCEPT_OBJECT = 4027;
  public static final int CLNT_COMMAND_START = 4028;
  public static final int WATCH_IS_STARTED = 4029;
  public static final int WATCH_IS_STOPPED = 4030;
  public static final int SAME_APID_EXIST = 4031;
  public static final int FILE_ACCESS_FAILURE = 4032;
  public static final int SESSION_IN_END = 4033;
  public static final int SESSION_IN_CALL = 4034;
 
  //INTERNAL
  public static final int PROPERTIES_FAILURE = 5001;
  public static final int MSG_TYPE_FAILURE = 5002;
  public static final int MUTEX_FAILURE = 5003;
  public static final int SIG_COND_FAILURE = 5004;
  public static final int EVENT_FAILURE = 5005;
  public static final int SH_MEM_FAILURE = 5006;
  public static final int THREAD_CREATE_FAILURE = 5007;
  public static final int TSD_FAILURE = 5008;
  public static final int CBL_ADAPTER_ERROR = 5009;
  public static final int SYSTEM_TIME_FAILURE = 5010;
  public static final int PROGRAM_ERROR = 5999;
 
  //MARSHAL
  public static final int INVALID_STREAM_LEN = 6001;
  public static final int INVALID_STREAM_VALUE = 6002;
  public static final int MARSHAL_OTHERS = 6003;
  public static final int REQ_MARSHAL_FAILURE = 6004;
  public static final int REQ_UNMARSHAL_FAILURE = 6005;
  public static final int REP_MARSHAL_FAILURE = 6006;
  public static final int REP_UNMARSHAL_FAILURE = 6007;
  public static final int UEXCEPT_MARSHAL_FAILURE = 6008;
  public static final int UEXCEPT_UNMARSHAL_FAILURE = 6009;
  public static final int MARSHAL_ERROR = 6010;
 
  //INITIALIZE
  public static final int INVALID_DEF_TIMEOUT = 7002;
  public static final int INVALID_DEF_RT_ACPT = 7003;
  public static final int INVALID_DEF_PARALLEL_COUNT = 7004;
  public static final int LOAD_SHLIB_FAILURE = 7005;
  public static final int INVALID_DEF_TSCID = 7006;
  public static final int INVALID_DEF_DOMAIN_NAME = 7007;
  public static final int INVALID_DEF_WITH_SYSTEM = 7008;
  public static final int INVALID_ENV_TSCDIR = 7009;
  public static final int MTRACE_FAILURE = 7010;
  public static final int INVALID_DEF_NICE = 7011;
  public static final int INVALID_DEF_PRIORITY = 7012;
  public static final int INVALID_DEF_ACPT = 7013;
  public static final int INVALID_PRC_KIND = 7014;
  public static final int INVALID_DEF_REQUEST_WAY = 7015;
  public static final int
          INVALID_DEF_CLIENT_MESSAGE_BUFFER_COUNT = 7016;
  public static final int INVALID_DEF_APID = 7017;
  public static final int INVALID_DEF_WATCH_TIME = 7018;
  public static final int INVALID_DEF_WATCH_METHOD = 7019;
  public static final int INVALID_DEF_MY_HOST = 7020;
  public static final int INVALID_DEF_REBIND_TIMES = 7021;
  public static final int INVALID_DEF_REBIND_INTERVAL = 7022;
  public static final int INVALID_DEF_RETRY_REFERENCE = 7024;
  public static final int INVALID_FILE_FORMAT = 7025;
  public static final int INVALID_DEF_RETRY_WAY = 7030;
  public static final int ALREADY_SHUTDOWN = 7031;
  public static final int INVALID_DEF_EXCEPT_CONVERT_FILE = 7034;
  public static final int ENTRY_FAILURE = 7035;
  public static final int INVALID_DEF_SESSION_INTERVAL = 7036;
  public static final int INVALID_DEF_QUEUE_LENGTH = 7040;
 
  //NO_IMPLEMENT
  public static final int NO_SUCH_INTERF = 8001;
  public static final int NO_SUCH_ACPT = 8002;
  public static final int NO_SUCH_OP_NAME = 9001;
 
  //NO_RESOURCES
  public static final int OVER_MAX_CLNT = 10001;
  public static final int OVER_MAX_SERV = 10002;
  public static final int OVER_ADM_MAX_CLNT = 10005;
  public static final int OVER_ADM_MAX_SERV = 10006;
  public static final int OVER_MAX_RT_ACPT_REGI = 10007;
  public static final int OVER_MAX_THIN_CLIENT = 10008;
  public static final int OVER_MAX_DISPATCH_PARALLEL = 10009;
  public static final int OVER_MAX_REQUEST_COUNT = 10010;
  public static final int OVER_MAX_ORB_CLIENT = 10011;
 
  //NO_RESPONSE
  public static final int TIMED_OUT = 11001;
 
  //BAD_INV_ORDER
  public static final int ALREADY_ACTIVE = 12002;
  public static final int ALREADY_DEACTIVE = 12003;
  public static final int CLNT_NOT_INITIALIZED = 12004;
  public static final int SERV_NOT_INITIALIZED = 12005;
  public static final int ALREADY_INITCLNT = 12006;
  public static final int ALREADY_INITSERV = 12007;
  public static final int ALREADY_SERV_ML = 12008;
  public static final int ALREADY_SESSION_START = 12013;
  public static final int SESSION_NOT_START = 12014;
 
  //TRANSIENT
  public static final int REBIND_FAILURE = 13001;
  public static final int ALL_CONN_FAILURE = 13002;
 
  //OBJECT_NOT_EXIST
  public static final int SERV_NO_SUCH_INTERF = 14001;
  public static final int SERV_NO_SUCH_ACPT = 14002;
 
  //UNKNOWN
  public static final int COMMON_EXCEPTION = 15001;
  public static final int INVALID_USER_EXCEPTION = 15002;
 
  //INV_OBJREF
  public static final int FACTORY_CREATE_FAILURE = 16001;
  public static final int THREAD_FACTORY_CREATE_FAILURE = 16002;
  public static final int FACTORY_DESTROY_FAILURE = 16003;
  public static final int THREAD_FACTORY_DESTROY_FAILURE = 16004;
  public static final int CREATED_OBJECT_IS_NULL = 16005;
  public static final int CREATED_THREAD_OBJECT_IS_NULL = 16006;
 
  public static final int TPBROKER_BAD_PARAM = 1998;
  public static final int TPBROKER_NO_MEMORY = 2998;
  public static final int TPBROKER_COMM_FAILURE = 3998;
  public static final int TPBROKER_NO_PERMISSION = 4998;
  public static final int TPBROKER_INTERNAL = 5998;
  public static final int TPBROKER_MARSHAL = 6998;
  public static final int TPBROKER_INITIALIZE = 7998;
  public static final int TPBROKER_NO_IMPLEMENT = 8998;
  public static final int TPBROKER_BAD_OPERATION = 9998;
  public static final int TPBROKER_NO_RESOURCES = 10998;
  public static final int TPBROKER_NO_RESPONSE = 11998;
  public static final int TPBROKER_BAD_INV_ORDER = 12998;
  public static final int TPBROKER_TRANSIENT = 13998;
  public static final int TPBROKER_OBJECT_NOT_EXIST = 14998;
  public static final int TPBROKER_UNKNOWN = 15998;
  public static final int TPBROKER_INV_OBJREF = 16998;
  public static final int TPBROKER_IMP_LIMIT = 17998;
  public static final int TPBROKER_BAD_TYPECODE = 18998;
  public static final int TPBROKER_PERSIST_STORE = 19998;
  public static final int TPBROKER_FREE_MEM = 20998;
  public static final int TPBROKER_INV_IDENT = 21998;
  public static final int TPBROKER_INV_FLAG = 22998;
  public static final int TPBROKER_INTF_REPOS = 23998;
  public static final int  TPBROKER_BAD_CONTEXT = 24998;
  public static final int TPBROKER_OBJ_ADAPTER = 25998;
  public static final int TPBROKER_DATA_CONVERSION = 26998;
 
  //場所コード
  public static final int PLACE_CODE_USER_AP = 1;
  public static final int PLACE_CODE_SERV = 2;
  public static final int PLACE_CODE_DAEMON = 3;
  public static final int PLACE_CODE_CLNT = 4;
  public static final int PLACE_CODE_CLNT_REG = 5;
  public static final int PLACE_CODE_STUB = 6;
  public static final int PLACE_CODE_SKELTON = 7;
  public static final int PLACE_CODE_ORBGW = 8;
 
// 完了状態
  public static final int COMPLETED_NO = -1;
  public static final int COMPLETED_MAYBE = 0;
  public static final int COMPLETED_YES = 1;
};

メソッド

●public int getErrorCode()

項目 型・意味
戻り値 エラーコード

障害のエラーコードを返します。

●public int getDetailCode()

項目 型・意味
戻り値 内容コード

障害の内容コードを返します。

●public int getPlaceCode()

項目 型・意味
戻り値 場所コード

障害の場所コードを返します。

●public int getCompletionStatus()

項目 型・意味
戻り値 完了状態

障害発生時のメソッド呼び出しの完了状態を返します。

●public int getMaintenanceCode1()

項目 型・意味
戻り値 保守コード1

障害の保守コード1を返します。

●public int getMaintenanceCode2()

項目 型・意味
戻り値 保守コード2

障害の保守コード2を返します。

●public int getMaintenanceCode3()

項目 型・意味
戻り値 保守コード3

障害の保守コード3を返します。

●public int getMaintenanceCode4()

項目 型・意味
戻り値 保守コード4

障害の保守コード4を返します。

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

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

メソッド 複数のスレッド上からの同時呼び出し
getErrorCode できます。
getDetailCode できます。
getPlaceCode できます。
getCompletionStatus できます。
getMaintenanceCode1 できます。
getMaintenanceCode2 できます。
getMaintenanceCode3 できます。
getMaintenanceCode4 できます。