# Exception classes

## Classes
class | pqxx::pqxx_exception
| Mixin base class to identify libpqxx-specific exception types. More...
class | pqxx::failure
| Run-time failure encountered by libpqxx, similar to std::runtime_error. More...
class | pqxx::broken_connection
| Exception class for lost or failed backend connection. More...
class | pqxx::sql_error
| Exception class for failed queries. More...
class | pqxx::in_doubt_error
| "Help, I don't know whether transaction was committed successfully!" More...
class | pqxx::internal_error
| Internal error in libpqxx library. More...
class | pqxx::usage_error
| Error in usage of libpqxx library, similar to std::logic_error. More...
class | pqxx::argument_error
| Invalid argument passed to libpqxx, similar to std::invalid_argument. More...
class | pqxx::conversion_error
class | pqxx::range_error
| Something is out of range, similar to std::out_of_range. More...
class | pqxx::feature_not_supported
| Database feature not supported in current setup. More...
class | pqxx::data_exception
| Error in data provided to SQL statement. More...
class | pqxx::integrity_constraint_violation
class | pqxx::restrict_violation
class | pqxx::not_null_violation
class | pqxx::foreign_key_violation
class | pqxx::unique_violation
class | pqxx::check_violation
class | pqxx::invalid_cursor_state
class | pqxx::invalid_sql_statement_name
class | pqxx::invalid_cursor_name
class | pqxx::syntax_error
class | pqxx::undefined_column
class | pqxx::undefined_function
class | pqxx::undefined_table
class | pqxx::insufficient_privilege
class | pqxx::insufficient_resources
| Resource shortage on the server. More...
class | pqxx::disk_full
class | pqxx::out_of_memory
class | pqxx::too_many_connections
class | pqxx::plpgsql_error
| PL/pgSQL error. More...
class | pqxx::plpgsql_raise
| Exception raised in PL/pgSQL procedure. More...
class | pqxx::plpgsql_no_data_found
class | pqxx::plpgsql_too_many_rows

## Detailed Description

These exception classes follow, roughly, the two-level hierarchy defined by the PostgreSQL error codes (see Appendix A of the PostgreSQL documentation corresponding to your server version). The hierarchy given here is, as yet, not a complete mirror of the error codes. There are some other differences as well, e.g. the error code statement_completion_unknown has a separate status in libpqxx as in_doubt_error, and too_many_connections is classified as a broken_connection rather than a subtype of insufficient_resources.

See also:
  http://www.postgresql.org/docs/8.1/interactive/errcodes-appendix.html