class Poco::XML::DOMException

Overview

DOM operations only raise exceptions in “exceptional” circumstances, i.e., when an operation is impossible to perform (either for logical reasons, because data is lost, or because the implementation has become unstable). More…

#include <DOMException.h>

class DOMException: public XMLException
{
public:
    // enums

    enum
    {
        INDEX_SIZE_ERR              = 1,
        DOMSTRING_SIZE_ERR,
        HIERARCHY_REQUEST_ERR,
        WRONG_DOCUMENT_ERR,
        INVALID_CHARACTER_ERR,
        NO_DATA_ALLOWED_ERR,
        NO_MODIFICATION_ALLOWED_ERR,
        NOT_FOUND_ERR,
        NOT_SUPPORTED_ERR,
        INUSE_ATTRIBUTE_ERR,
        INVALID_STATE_ERR,
        SYNTAX_ERR,
        INVALID_MODIFICATION_ERR,
        NAMESPACE_ERR,
        INVALID_ACCESS_ERR,
        _NUMBER_OF_MESSAGES,
    };

    // construction

    DOMException(unsigned short code);
    DOMException(const DOMException& exc);

    // methods

    DOMException&
    operator=(const DOMException& exc);

    const char*
    name() const;

    const char*
    className() const;

    Poco::Exception*
    clone() const;

    void
    rethrow() const;

    unsigned short
    code() const;

protected:
    // methods

    static
    const std::string&
    message(unsigned short code);
};

Detailed Documentation

DOM operations only raise exceptions in “exceptional” circumstances, i.e., when an operation is impossible to perform (either for logical reasons, because data is lost, or because the implementation has become unstable).

In general, DOM methods return specific error values in ordinary processing situations, such as out-of-bound errors when using NodeList.

Implementations should raise other exceptions under other circumstances. For example, implementations should raise an implementation-dependent exception if a null argument is passed when null was not expected.

Enum Values

INDEX_SIZE_ERR

index or size is negative or greater than allowed value

DOMSTRING_SIZE_ERR

the specified range of text does not fit into a DOMString (not used)

HIERARCHY_REQUEST_ERR

a node is inserted somewhere it doesn’t belong

WRONG_DOCUMENT_ERR

a node is used in a different document than the one that created it

INVALID_CHARACTER_ERR

an invalid character is specified (not used)

NO_DATA_ALLOWED_ERR

data is specified for a node which does not support data

NO_MODIFICATION_ALLOWED_ERR

an attempt is made to modify an object where modifications are not allowed

NOT_FOUND_ERR

an attempt was made to reference a node in a context where it does not exist

NOT_SUPPORTED_ERR

the implementation does not support the type of object requested

INUSE_ATTRIBUTE_ERR

an attempt is made to add an attribute that is already in use elsewhere

INVALID_STATE_ERR

a parameter or an operation is not supported by the underlying object

SYNTAX_ERR

an invalid or illegal string is specified

INVALID_MODIFICATION_ERR

an attempt is made to modify the type of the underlying object

NAMESPACE_ERR

an attempt is made to create or change an object in a way which is incorrect with regard to namespaces

INVALID_ACCESS_ERR

an attempt is made to use an object that is not, or is no longer, usable

Construction

DOMException(unsigned short code)

Creates a DOMException with the given error code.

DOMException(const DOMException& exc)

Creates a DOMException by copying another one.

Methods

const char*
name() const

Returns a static string describing the exception.

const char*
className() const

Returns the name of the exception class.

Poco::Exception*
clone() const

Creates an exact copy of the exception.

void
rethrow() const

(Re)Throws the exception.

unsigned short
code() const

Returns the DOM exception code.