00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 #include "pqxx/libcompiler.h"
00020 
00021 #include <stdexcept>
00022 
00023 #include "pqxx/util"
00024 
00025 
00026 namespace pqxx
00027 {
00028 
00030 class PQXX_LIBEXPORT broken_connection : public PGSTD::runtime_error
00031 {
00032 public:
00033   broken_connection() : PGSTD::runtime_error("Connection to back end failed") {}
00034   explicit broken_connection(const PGSTD::string &whatarg) :
00035     PGSTD::runtime_error(whatarg) {}
00036 };
00037 
00038 
00040 
00041 class PQXX_LIBEXPORT sql_error : public PGSTD::runtime_error
00042 {
00043   PGSTD::string m_Q;
00044 
00045 public:
00046   sql_error() : PGSTD::runtime_error("Failed query"), m_Q() {}
00047   explicit sql_error(const PGSTD::string &whatarg) :
00048         PGSTD::runtime_error(whatarg), m_Q() {}
00049   sql_error(const PGSTD::string &whatarg, const PGSTD::string &Q) :
00050         PGSTD::runtime_error(whatarg), m_Q(Q) {}
00051   virtual ~sql_error() throw () {}
00052 
00054   const PGSTD::string &query() const throw () { return m_Q; }           
00055 };
00056 
00057 
00059 
00065 class PQXX_LIBEXPORT in_doubt_error : public PGSTD::runtime_error
00066 {
00067 public:
00068   explicit in_doubt_error(const PGSTD::string &whatarg) :
00069         PGSTD::runtime_error(whatarg) {}
00070 };
00071 
00072 }
00073