TSCSystemException(Java)

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

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

エラーコード

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

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

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

エラーコード例外クラス
BAD_PARAMTSCBadParamException
NO_MEMORYTSCNoMemoryException
COMM_FAILURETSCCommFailureException
NO_PERMISSIONTSCNoPermissionException
INTERNALTSCInternalException
MARSHALTSCMarshalException
INITIALIZETSCInitializeException
NO_IMPLEMENTTSCNoImplementException
BAD_OPERATIONTSCBadOperationException
NO_RESOURCESTSCNoResourcesException
NO_RESPONSETSCNoResponseException
BAD_INV_ORDERTSCBadInvOrderException
TRANSIENTTSCTransientException
OBJECT_NOT_EXISTTSCObjectNotExistException
UNKNOWNTSCUnknownException
INV_OBJREFTSCInvObjrefException
IMP_LIMITTSCImpLimitException
BAD_TYPECODETSCBadTypecodeException
PERSIST_STORETSCPersistStoreException
FREE_MEMTSCFreeMemException
INV_IDENTTSCInvIdentException
INV_FLAGTSCInvFlagException
INTF_REPOSTSCIntfReposException
BAD_CONTEXTTSCBadContextException
OBJ_ADAPTERTSCObjAdapterException
DATA_CONVERSIONTSCDataConversionException
TRANSACTION_REQUIREDTSCTransactionRequiredException
TRANSACTION_ROLLEDBACKTSCTransactionRolledbackException
INVALID_TRANSACTIONTSCInvalidTransactionException
INV_POLICYTSCInvPolicyException
CODESET_INCOMPATIBLETSCCodesetIncompatibleException
REBINDTSCRebindException
TIMEOUTTSCTimeoutException

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

内容コード

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

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

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

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

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

場所コード

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

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

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

場所コード場所
PLACE_CODE_USER_APユーザアプリケーション
PLACE_CODE_SERVOTMのサーバ機能部分
PLACE_CODE_DAEMONTSCデーモン
PLACE_CODE_CLNTOTMのクライアント機能部分
PLACE_CODE_CLNT_REGTSCレギュレータ
PLACE_CODE_STUBTSCユーザプロキシ(スタブ)
PLACE_CODE_SKELTONTSCユーザスケルトン(スケルトン)
PLACE_CODE_ORBGWTSCORBコネクタ

完了状態

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

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

表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;
 public static final int TRANSACTION_REQUIRED = 27;
 public static final int TRANSACTION_ROLLEDBACK = 28;
 public static final int INVALID_TRANSACTION = 29;
 public static final int INV_POLICY = 30;
 public static final int CODESET_INCOMPATIBLE = 31;
 public static final int REBIND = 32;
 public static final int TIMEOUT = 33;

 //
 //詳細コード
 //
 //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 INVALID_FLAG = 1022;
 public static final int INVALID_WATCH_TIME = 1027;
 public static final int INVALID_RETRY_REQUIREMENT = 1029;
 public static final int INVALID_SESSION_INTERVAL = 1038;

 //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;
 public static final int RECEIVE_CONN_DOWN = 3023;

 //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 SYSTEM_TIME_FAILURE = 5010;
 public static final int CONN_INFO_FAILURE = 5011;
 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;

 //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;
 public static final int ALREADY_DISCONN = 12019;

 //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 TPBROKER_TRANSACTION_REQUIRED = 27998;
 public static final int TPBROKER_TRANSACTION_ROLLEDBACK = 28998;
 public static final int TPBROKER_INVALID_TRANSACTION = 29998;
 public static final int TPBROKER_INV_POLICY = 30998;
 public static final int TPBROKER_CODESET_INCOMPATIBLE = 31998;
 public static final int TPBROKER_REBIND = 32998;
 public static final int TPBROKER_TIMEOUT = 33998;

 //場所コード
 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できます。