00001 #ifndef DBIEXCEPTION
00002 #define DBIEXCEPTION
00003
00004
00026 #include <iosfwd>
00027 #include <string>
00028 #include "Rtypes.h"
00029
00030 class DbiException;
00031 class TSQLServer;
00032 class TSQLStatement;
00033
00034 class ostreamx;
00035
00036 std::ostream& operator<<(std::ostream& s, const DbiException& e);
00037
00038 class DbiException
00039
00040 {
00041
00042 public:
00043 DbiException(const char* msg = 0, Int_t code = -1, Int_t dbType = -1 );
00044 DbiException(const TSQLServer& server,Int_t dbType = -1);
00045 DbiException(const TSQLStatement& statement,Int_t dbType = -1);
00046 DbiException(const DbiException& that);
00047 virtual ~DbiException();
00048
00049
00050
00051 const std::string & GetMessage() const { return fMessage; }
00052 Int_t GetErrorCode() const { return fErrorCode; }
00053 Int_t GetDbType() const { return fDbType; }
00054
00055 private:
00056
00057
00058
00059
00060 private:
00061
00063 std::string fMessage;
00064
00066 Int_t fErrorCode;
00067
00069 Int_t fDbType;
00070
00071
00072 ClassDef(DbiException,0)
00073
00074 };
00075
00076 #endif // DBIEXCEPTIONLOG