00001 #ifndef HEADER_BASEEXCEPTION_H 00002 #define HEADER_BASEEXCEPTION_H 00003 00004 #include "ExInfo.h" 00005 00006 #include <stdexcept> 00007 00008 /** 00009 * Generic exception. 00010 */ 00011 class BaseException : public std::exception { 00012 private: 00013 ExInfo m_info; 00014 public: 00015 explicit BaseException(const ExInfo &exinfo); 00016 virtual ~BaseException() throw() {} 00017 virtual const char *what() const throw(); 00018 virtual const ExInfo &info() const throw(); 00019 }; 00020 00021 #endif