00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _GIFTEXCEPTIONS
00024 #define _GIFTEXCEPTIONS
00025 using namespace std;
00026
00027 #include <iostream>
00028 #include <fstream>
00029
00037 class GIFTException{
00044 virtual void dummy();
00045 protected:
00047 const char* mMessage;
00049 bool mDestroy;
00050 public:
00052 const char* getMessage()const;
00053
00055 GIFTException(const char* inMessage);
00057 GIFTException(char* inMessage);
00059 virtual ~GIFTException();
00061 friend ostream& operator<<(ostream& outStream,
00062 const GIFTException&);
00063 };
00064
00066 ostream& operator<<(ostream& outStream,
00067 const GIFTException&);
00068
00070 class VENotFound:public GIFTException{
00071 public:
00072
00074 VENotFound(const char* inMessage);
00076 friend ostream& operator<<(ostream& outStream,
00077 const VENotFound& inException);
00078
00079 };
00080
00081 ostream& operator<<(ostream& outStream,
00082 const VENotFound& inException);
00083
00085 class VEProgrammingMistake:public GIFTException{
00086 public:
00087
00089 VEProgrammingMistake(const char* inMessage);
00091 friend ostream& operator<<(ostream& outStream,
00092 const VEProgrammingMistake& inException);
00093
00094 };
00095
00096 ostream& operator<<(ostream& outStream,
00097 const VENotFound& inException);
00098
00099
00104 class VEDoubleInsert:public GIFTException{
00105 public:
00107 VEDoubleInsert(const char* inMessage);
00108
00110 friend ostream& operator<<(ostream& outStream,
00111 const VEDoubleInsert& inException);
00112
00113 };
00114
00115 ostream& operator<<(ostream& outStream,
00116 const VEDoubleInsert& inException);
00117
00118
00120 class VEBaseUnknown:public GIFTException{
00121 public:
00123 VEBaseUnknown(const char* inMessage);
00124
00125 friend ostream& operator<<(ostream& outStream,
00126 const VEBaseUnknown& inException);
00127
00128 };
00129
00130 ostream& operator<<(ostream& outStream,
00131 const VEBaseUnknown& inException);
00132
00133
00135 class VEWrongAccessor:public GIFTException{
00136 public:
00138 VEWrongAccessor(const char* inMessage);
00139
00141 friend ostream& operator<<(ostream& outStream,
00142 const VEWrongAccessor& inException);
00143
00144 };
00145
00146 ostream& operator<<(ostream& outStream,
00147 const VEWrongAccessor& inException);
00148
00149
00151 class VEWrongAlgorithm:public GIFTException{
00152 public:
00154 VEWrongAlgorithm(const char* inMessage);
00155
00157 friend ostream& operator<<(ostream& outStream,
00158 const VEWrongAlgorithm& inException);
00159 };
00160
00161 ostream& operator<<(ostream& outStream,
00162 const VEWrongAlgorithm& inException);
00163
00165 class VEWrongBaseType:public GIFTException{
00166 public:
00168 VEWrongBaseType(const char* inMessage);
00169
00171 friend ostream& operator<<(ostream& outStream,
00172 const VEWrongBaseType& inException);
00173 };
00174
00175 ostream& operator<<(ostream& outStream,
00176 const VEWrongBaseType& inException);
00177
00178
00180 class VEUnknownSession:public GIFTException{
00181 public:
00183 VEUnknownSession(const char* inMessage);
00185 friend ostream& operator<<(ostream& outStream,
00186 const VEUnknownSession& inException);
00187
00188 };
00190 class VEConfigurationError:public GIFTException{
00191 public:
00193 VEConfigurationError(const char* inMessage);
00195 friend ostream& operator<<(ostream& outStream,
00196 const VEConfigurationError& inException);
00197
00198 };
00199
00200
00201 ostream& operator<<(ostream& outStream,
00202 const VEConfigurationError& inException);
00203
00204
00205
00206
00207 #endif