00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _GIFTEXCEPTIONS
00026 #define _GIFTEXCEPTIONS
00027 using namespace std;
00028
00029 #include <iostream>
00030 #include <fstream>
00031
00039 class GIFTException{
00046 virtual void dummy();
00047 protected:
00049 const char* mMessage;
00051 bool mDestroy;
00052 public:
00054 const char* getMessage()const;
00055
00057 GIFTException(const char* inMessage);
00059 GIFTException(char* inMessage);
00061 virtual ~GIFTException();
00063 friend ostream& operator<<(ostream& outStream,
00064 const GIFTException&);
00065 };
00066
00068 ostream& operator<<(ostream& outStream,
00069 const GIFTException&);
00070
00072 class VENotFound:public GIFTException{
00073 public:
00074
00076 VENotFound(const char* inMessage);
00078 friend ostream& operator<<(ostream& outStream,
00079 const VENotFound& inException);
00080
00081 };
00082
00083 ostream& operator<<(ostream& outStream,
00084 const VENotFound& inException);
00085
00087 class VEProgrammingMistake:public GIFTException{
00088 public:
00089
00091 VEProgrammingMistake(const char* inMessage);
00093 friend ostream& operator<<(ostream& outStream,
00094 const VEProgrammingMistake& inException);
00095
00096 };
00097
00098 ostream& operator<<(ostream& outStream,
00099 const VENotFound& inException);
00100
00101
00106 class VEDoubleInsert:public GIFTException{
00107 public:
00109 VEDoubleInsert(const char* inMessage);
00110
00112 friend ostream& operator<<(ostream& outStream,
00113 const VEDoubleInsert& inException);
00114
00115 };
00116
00117 ostream& operator<<(ostream& outStream,
00118 const VEDoubleInsert& inException);
00119
00120
00122 class VEBaseUnknown:public GIFTException{
00123 public:
00125 VEBaseUnknown(const char* inMessage);
00126
00127 friend ostream& operator<<(ostream& outStream,
00128 const VEBaseUnknown& inException);
00129
00130 };
00131
00132 ostream& operator<<(ostream& outStream,
00133 const VEBaseUnknown& inException);
00134
00135
00137 class VEWrongAccessor:public GIFTException{
00138 public:
00140 VEWrongAccessor(const char* inMessage);
00141
00143 friend ostream& operator<<(ostream& outStream,
00144 const VEWrongAccessor& inException);
00145
00146 };
00147
00148 ostream& operator<<(ostream& outStream,
00149 const VEWrongAccessor& inException);
00150
00151
00153 class VEWrongAlgorithm:public GIFTException{
00154 public:
00156 VEWrongAlgorithm(const char* inMessage);
00157
00159 friend ostream& operator<<(ostream& outStream,
00160 const VEWrongAlgorithm& inException);
00161 };
00162
00163 ostream& operator<<(ostream& outStream,
00164 const VEWrongAlgorithm& inException);
00165
00167 class VEWrongBaseType:public GIFTException{
00168 public:
00170 VEWrongBaseType(const char* inMessage);
00171
00173 friend ostream& operator<<(ostream& outStream,
00174 const VEWrongBaseType& inException);
00175 };
00176
00177 ostream& operator<<(ostream& outStream,
00178 const VEWrongBaseType& inException);
00179
00180
00182 class VEUnknownSession:public GIFTException{
00183 public:
00185 VEUnknownSession(const char* inMessage);
00187 friend ostream& operator<<(ostream& outStream,
00188 const VEUnknownSession& inException);
00189
00190 };
00192 class VEConfigurationError:public GIFTException{
00193 public:
00195 VEConfigurationError(const char* inMessage);
00197 friend ostream& operator<<(ostream& outStream,
00198 const VEConfigurationError& inException);
00199
00200 };
00201
00202
00203 ostream& operator<<(ostream& outStream,
00204 const VEConfigurationError& inException);
00205
00206
00207
00208
00209 #endif