00001 #ifndef CLASSLIB_SHARED_LIBRARY_ERROR_H 00002 # define CLASSLIB_SHARED_LIBRARY_ERROR_H 00003 00004 //<<<<<< INCLUDES >>>>>> 00005 00006 # include "classlib/utils/Error.h" 00007 00008 namespace lat { 00009 //<<<<<< PUBLIC DEFINES >>>>>> 00010 //<<<<<< PUBLIC CONSTANTS >>>>>> 00011 //<<<<<< PUBLIC TYPES >>>>>> 00012 //<<<<<< PUBLIC VARIABLES >>>>>> 00013 //<<<<<< PUBLIC FUNCTIONS >>>>>> 00014 //<<<<<< CLASS DECLARATIONS >>>>>> 00015 00017 class SharedLibraryError : public Error 00018 { 00019 public: 00020 SharedLibraryError (const char *context, const std::string &cause); 00021 SharedLibraryError (const char *context, int code); 00022 SharedLibraryError (const char *context, Error *next); 00023 SharedLibraryError (Error *chain); 00024 00025 // default destructor 00026 // default copy constructor 00027 // default assignment operator 00028 00029 virtual std::string explainSelf (void) const; 00030 virtual Error * clone (void) const; 00031 virtual void rethrow (void); 00032 00033 private: 00034 std::string m_context; 00035 std::string m_cause; 00036 }; 00037 00038 //<<<<<< INLINE PUBLIC FUNCTIONS >>>>>> 00039 //<<<<<< INLINE MEMBER FUNCTIONS >>>>>> 00040 00041 } // namespace lat 00042 #endif // CLASSLIB_SHARED_LIBRARY_ERROR_H