--- /dev/null
+# interface pq\Exception
+
+A base interface for all pq\Exception classes.
+
+## Constants:
+
+* INVALID_ARGUMENT
+ An invalid argument was passed to a method (pq\Exception\InvalidArgumentException).
+* RUNTIME
+ A runtime exception occurred (pq\Exception\RuntimeException).
+* CONNECTION_FAILED
+ The connection failed (pq\Exception\RuntimeException).
+* IO
+ An input/output exception occurred (pq\Exception\RuntimeException).
+* ESCAPE
+ Escaping an argument or identifier failed internally (pq\Exception\RuntimeException).
+* UNINITIALIZED
+ An object's constructor was not called (pq\Exception\BadMethodCallException).
+* BAD_METHODCALL
+ Calling this method was not expected (yet) (pq\Exception\BadMethodCallException).
+* SQL
+ SQL syntax error (pq\Exception\DomainException).
+* DOMAIN
+ Implementation domain error (pq\Exception\DomainException).
+
+
+## Example:
+
+ <?php
+
+ try {
+ $connection = new pq\Connection;
+ } catch (pq\Exception $e) {
+ printf("%s (%d)\n", $e->getMessage(), $e->getCode());
+ }
+
+ ?>
--- /dev/null
+# class pq\Exception\BadMethodCallException extends BadMethodCallException implements pq\Exception
+
+A method calls was not expected.
+
+## Codes:
+
+* pq\Exception::UNINITIALIZED
+* pq\Exception::BAD_METHODCALL
--- /dev/null
+# class pq\Exception\DomainException extends DomainException implements pq\Exception
+
+Implementation or SQL syntax error.
+
+## Codes:
+
+* pq\Exception::SQL
+* pq\Exception::DOMAIN
+
+## Properties:
+
+* public string $sqlstate
+ The SQLSTATE code, see the [official documentation](http://www.postgresql.org/docs/current/static/errcodes-appendix.html) for further information.
--- /dev/null
+# class pq\Exception\InvalidArgumentException extends InvalidArgumentException implements pq\Exception
+
+An invalid argument was passed to a method.
+
+## Codes:
+
+ * pq\Exception::INVALID_ARGUMENT
--- /dev/null
+# class pq\Exception\RuntimeException extends RuntimeException implements pq\Exception
+
+A runtime exception occurred.
+
+## Codes:
+
+* pq\Exception::RUNTIME
+* pq\Exception::CONNECTION_FAILED
+* pq\Exception::IO
+* pq\Exception::ESCAPE