00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef __AXISGENEXCEPTION_H_OF_AXIS_INCLUDED_
00022 #define __AXISGENEXCEPTION_H_OF_AXIS_INCLUDED_
00023
00024 #include <string>
00025 #include <exception>
00026 #include <axis/server/AxisException.h>
00027
00028 AXIS_CPP_NAMESPACE_START
00029
00030 using namespace std;
00031
00032 class STORAGE_CLASS_INFO AxisGenException :public AxisException
00033 {
00034
00035 public:
00036 AxisGenException();
00037
00047 AxisGenException(const int iExceptionCode);
00060 AxisGenException(const int iExceptionCode, char* pcMessage);
00061
00070 AxisGenException(const exception* e);
00071
00078 AxisGenException(const exception* e, const int iExceptionCode);
00079
00084 AxisGenException(const char* pcMessage);
00085 virtual ~AxisGenException() throw();
00086 const char* what() throw();
00087 const int getExceptionCode();
00088
00089 private:
00090 const string getMessage(const exception* e);
00091 const string getMessage(const int iExceptionCode);
00092 void processException(const exception* e);
00093 void processException(const exception* e, const int iExceptionCode);
00094 void processException (const exception* e, char* pcMessage);
00095 void processException(const int iExceptionCode);
00096 void processException(const int iExceptionCode, char* pcMessage);
00097 string m_sMessage;
00098 int m_iExceptionCode;
00099 };
00100
00101 AXIS_CPP_NAMESPACE_END
00102
00103 #endif
00104