00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef EXCEPTIONBASE_H
00015 #define EXCEPTIONBASE_H
00016 #include <exception>
00017 #include <string>
00018
00019 namespace glite
00020 {
00021 namespace rgma
00022 {
00027 class ExceptionBase : public std::exception
00028 {
00029 protected:
00030 std::string m_message;
00031 int m_errNo;
00032 ExceptionBase* m_cause;
00033 std::string m_sourceIdentifier;
00034
00035 public:
00036
00037 ExceptionBase();
00038 virtual ~ExceptionBase()throw();
00043 ExceptionBase* getCause() const;
00044
00049 std::string getMessage() const;
00054 int getErrNo() const;
00059 std::string getSourceIdentifier() const;
00063 void cleanUp();
00067 const char* what() const throw();
00068 };
00069 }
00070 }
00071 #endif // EXCEPTIONBASE_H