Chapter 13.  XmlException

#include <DbXml.hpp>

class DbXml::XmlException : public std::exception {
public:
	virtual const char *what() const throw();
	ExceptionCode getExceptionCode();
	int getDbErrno();
	...
};

The XmlException class represents an error condition that has occurred within the Berkeley DB XML system. The system throws an XmlException if an API method call results in an error condition. Methods on this class may be used to get further information regarding the exception. Some of these include XmlException::what and XmlException::getExceptionCode. This object is not thread-safe, and can only be safely used by one thread at a time in an application.

Below is a description of the exceptions codes that may be returned from XmlException::getExceptionCode:

  • XmlException::CONTAINER_CLOSED

    An operation was performed that requires the container to be open.

  • XmlException::CONTAINER_EXISTS

    An attempt was made to create an existing container.

  • XmlException::CONTAINER_NOT_FOUND

    The specified container was not found.

  • XmlException::CONTAINER_OPEN

    An operation was performed that requires the container to be closed.

  • XmlException::DATABASE_ERROR

    An unexpected error was returned from Berkeley DB.

  • XmlException::DOCUMENT_NOT_FOUND

    A named document was not found.

  • XmlException::EVENT_ERROR

    An error occurred during the use of the event reader or writer interface.

  • XmlException::INDEXER_PARSER_ERROR

    There was an XML parsing error while attempting to index a document.

  • XmlException::INTERNAL_ERROR

    An internal error has occurred inside BDB XML.

  • XmlException::INVALID_VALUE

    An invalid operation was attempted, or an invalid value passed to an operation.

  • XmlException::LAZY_EVALUATION

    An operation that requires eager evaluation was attempted on a lazily evaluated result set.

  • XmlException::NO_MEMORY_ERROR

    An attempt to allocate memory failed.

  • XmlException::NULL_POINTER

    An attempt was made to use a NULL pointer, most likely from a non-C++ API, such as Java or Python.

  • XmlException::OPERATION_INTERRUPTED

    A query operation was interrupted by the application.

  • XmlException::OPERATION_TIMEOUT

    A query operation timed out.

  • XmlException::TRANSACTION_ERROR

    An attempt was made to refer to a transaction that was already committed or aborted.

  • XmlException::UNIQUE_ERROR

    An index uniqueness constraint was violated.

  • XmlException::UNKNOWN_INDEX

    The referenced indexing strategy is not known.

  • XmlException::VERSION_MISMATCH

    The container version and library version are not compatible.

  • XmlException::QUERY_EVALUATION_ERROR

    An error occurred during evaluation of an XQuery expression.

  • XmlException::QUERY_PARSER_ERROR

    An error occurred attempting to parse an XQuery expression.

XmlException Methods