00001 #ifndef FCOLLEXCEPTIONS_H
00002 #define FCOLLEXCEPTIONS_H
00003
00004 #include "zipios++/zipios-config.h"
00005
00006 #include <stdexcept>
00007 #include <string>
00008
00009 namespace zipios {
00010
00011 using std::string ;
00012 using std::exception ;
00013
00016 class IOException : public exception {
00017 public:
00018 IOException() throw () ;
00019 explicit IOException( const string &msg ) throw () ;
00020 IOException( const IOException &src ) throw () ;
00021 IOException &operator= ( const IOException &src ) throw () ;
00022
00023 virtual const char *what() const throw () ;
00024 virtual ~IOException() throw () ;
00025 private:
00026 string _what ;
00027 };
00028
00031 class FCollException : public exception {
00032 public:
00033 FCollException() throw () ;
00034 explicit FCollException( const string &msg ) throw () ;
00035 FCollException( const FCollException &src ) throw () ;
00036 FCollException &operator= ( const FCollException &src ) throw () ;
00037
00038 virtual const char *what() const throw () ;
00039 virtual ~FCollException() throw () ;
00040 private:
00041 string _what ;
00042 };
00043
00047 class InvalidStateException : public exception {
00048 public:
00049 InvalidStateException() throw () ;
00050 explicit InvalidStateException( const string &msg ) throw () ;
00051 InvalidStateException( const InvalidStateException &src ) throw () ;
00052 InvalidStateException &operator= ( const InvalidStateException &src ) throw () ;
00053
00054 virtual const char *what() const throw () ;
00055 virtual ~InvalidStateException() throw () ;
00056 private:
00057 string _what ;
00058 };
00059
00061 class Exception : public exception {
00062 public:
00063 Exception() throw () ;
00064 explicit Exception( const string &msg ) throw () ;
00065 Exception( const Exception &src ) throw () ;
00066 Exception &operator= ( const Exception &src ) throw () ;
00067
00068 virtual const char *what() const throw () ;
00069 virtual ~Exception() throw () ;
00070 private:
00071 string _what ;
00072 };
00073
00074
00075 }
00076 #endif
00077
00083 00084 00085 00086 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100