libpqxx
errorhandler.hxx
1 
13 #ifndef PQXX_H_ERRORHANDLER
14 #define PQXX_H_ERRORHANDLER
15 
16 #include "pqxx/compiler-public.hxx"
17 #include "pqxx/compiler-internal-pre.hxx"
18 
19 #include "pqxx/types.hxx"
20 
21 
22 namespace pqxx
23 {
24 namespace internal
25 {
26 namespace gate
27 {
28 class errorhandler_connection_base;
29 }
30 }
31 
37 
54 class PQXX_LIBEXPORT errorhandler
55 {
56 public:
57  explicit errorhandler(connection_base &);
58  virtual ~errorhandler();
59 
61 
65  virtual bool operator()(const char msg[]) noexcept =0;
66 
67 private:
68  connection_base *m_home;
69 
70  friend class internal::gate::errorhandler_connection_base;
71  void unregister() noexcept;
72 
73  errorhandler() =delete;
74  errorhandler(const errorhandler &) =delete;
75  errorhandler &operator=(const errorhandler &) =delete;
76 };
77 
78 
81 {
82 public:
84 
85  virtual bool operator()(const char[]) noexcept override { return false; }
86 };
87 
92 } // namespace pqxx
93 
94 #include "pqxx/compiler-internal-post.hxx"
95 
96 #endif
pqxx::quiet_errorhandler
An error handler that suppresses any previously registered error handlers.
Definition: errorhandler.hxx:80
pqxx::quiet_errorhandler::quiet_errorhandler
quiet_errorhandler(connection_base &conn)
Definition: errorhandler.hxx:83
pqxx::internal
Private namespace for libpqxx's internal use; do not access.
Definition: connection_base.hxx:43
pqxx::internal::name_encoding
const char * name_encoding(int encoding_id)
Definition: encodings.cxx:631
pqxx::internal::enc_group
encoding_group enc_group(int libpq_enc_id)
Definition: encodings.cxx:637
pqxx::errorhandler
Base class for error-handler callbacks.
Definition: errorhandler.hxx:54
pqxx::quiet_errorhandler::operator()
virtual bool operator()(const char[]) noexcept override
Define in subclass: receive an error or warning message from the database.
Definition: errorhandler.hxx:85
pqxx::internal::get_glyph_scanner
glyph_scanner_func * get_glyph_scanner(encoding_group enc)
Definition: encodings.cxx:738
pqxx::argument_error
Invalid argument passed to libpqxx, similar to std::invalid_argument.
Definition: except.hxx:229
pqxx::errorhandler::~errorhandler
virtual ~errorhandler()
Definition: errorhandler.cxx:30
pqxx::to_string
std::string to_string(const field &Obj)
Convert a field to a string.
Definition: result.cxx:451
pqxx::connection_base
connection_base abstract base class; represents a connection to a database.
Definition: connection_base.hxx:139
pqxx::internal::find_with_encoding
std::string::size_type find_with_encoding(encoding_group enc, const std::string &haystack, char needle, std::string::size_type start)
Definition: encodings.cxx:790
pqxx::internal::for_encoding
F * for_encoding(encoding_group enc)
Look up instantiation T<enc>::call at runtime.
Definition: encodings.cxx:707
pqxx::errorhandler::errorhandler
errorhandler(connection_base &)
Definition: errorhandler.cxx:23
pqxx
The home of all libpqxx classes, functions, templates, etc.
Definition: array.hxx:25
pqxx::usage_error
Error in usage of libpqxx library, similar to std::logic_error.
Definition: except.hxx:218