43 #ifndef CCXX_EXCEPTION_H_
44 #define CCXX_EXCEPTION_H_
46 #ifndef CCXX_CONFIG_H_
50 #ifndef CCXX_STRING_H_
57 #if defined(HAVE_EXCEPTION)
58 #define COMMON_STD_EXCEPTION
62 #ifdef CCXX_NAMESPACES
74 class __EXPORT Exception :
public std::exception
80 Exception(
const String& what_arg)
throw();
81 virtual ~Exception() throw();
82 virtual const
char *getString() const;
83 virtual const
char *what() const throw();
92 class
__EXPORT IOException : public Exception
96 mutable char* _systemErrorString;
99 IOException(
const String &what_arg,
long systemError = 0) throw();
100 virtual ~IOException() throw();
102 virtual
long getSystemError() const throw();
103 virtual const
char* getSystemErrorString() const throw();
112 class
__EXPORT ThrException : public Exception
115 ThrException(
const String &what_arg) : Exception(what_arg)
125 class __EXPORT SyncException :
public ThrException
128 SyncException(
const String &what_arg) :
129 ThrException(what_arg) {};
132 class __EXPORT InterruptException :
public ThrException
135 InterruptException() : ThrException(
"interrupted") {};
139 #ifdef CCXX_NAMESPACES