00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef T_EXCEPTION_H_
00011 #define T_EXCEPTION_H_
00012
00013
00014 #if !defined(T_OS_HPUX) && !defined(T_OS_IRIX)
00015 #include <exception>
00016 #include <iostream>
00017 #endif
00018
00019 #include <rtworks/ipc.h>
00020 #include <rtworks/types.h>
00021
00022 namespace SmartSockets {
00023
00029 #if !defined(T_OS_HPUX) && !defined(T_OS_LINUX) && !defined(T_OS_IRIX)
00030 class T_IPCX_API Exception : public std::exception
00031 #else
00032 class T_IPCX_API Exception
00033 #endif
00034 {
00035 int4 _errNum;
00036 int4 _osErrNum;
00037 int4 _socketErrNum;
00038 int4 _cErrNum;
00039 char * _errorString;
00040
00041 public:
00042
00050 Exception ();
00051
00067 Exception
00068 (
00069 int4 errNum
00070 );
00071
00072
00076 virtual ~Exception () throw();
00077
00085 virtual const char* what () const throw() ;
00086
00091 int4 getErrNum () const;
00092
00097 int4 getOSErrNum () const;
00098
00103 int4 getSocketErrNum () const;
00104
00109 int4 getCErrNum () const;
00110 };
00111
00119 class T_IPCX_API TipcException : public Exception
00120 {
00121 public:
00125 TipcException() {}
00126
00130 TipcException(int4 errorNum) : Exception(errorNum) {}
00131
00135 ~TipcException() throw() {}
00136 };
00137
00138 }
00139
00140 #endif // T_EXCEPTION_H_