# Exception classes

## Classes

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::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::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

## 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