00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __AXISENGINEEXCEPTION_H_OF_AXIS_INCLUDED_
00022 #define __AXISENGINEEXCEPTION_H_OF_AXIS_INCLUDED_
00023
00024 #include <string>
00025 #include <exception>
00026 #include <axis/server/AxisException.h>
00027 using namespace std;
00028
00029 class STORAGE_CLASS_INFO AxisEngineException :public AxisException
00030 {
00031
00032 public:
00033 AxisEngineException();
00034 AxisEngineException(const int iExceptionCode);
00035 AxisEngineException(const int iExceptionCode, char* pcMessage);
00036 AxisEngineException(const exception* e);
00037 AxisEngineException(const exception* e, const int iExceptionCode);
00038 virtual ~AxisEngineException() throw();
00039 const char* what() throw();
00040 const int getExceptionCode();
00041
00042 private:
00043 const string getMessage(const exception* e);
00044 const string getMessage(const int iExceptionCode);
00045 void processException(const exception* e);
00046 void processException(const exception* e, const int iExceptionCode);
00047 void processException(const int iExceptionCode);
00048 void processException(const int iExceptionCode, char* pcMessage);
00049 string m_sMessage;
00050 int m_iExceptionCode;
00051 };
00052
00053 #endif
00054