# Poco::XML

# class DOMException

Library: XML
Package: DOM
Header: Poco/DOM/DOMException.h

## Description

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.

## Inheritance

Direct Base Classes: XMLException

All Base Classes: Poco::Exception, Poco::RuntimeException, XMLException, std::exception

## Member Summary

Member Functions: className, clone, code, message, name, operator =, rethrow

Inherited Functions: className, clone, code, displayText, extendedMessage, message, name, nested, operator =, rethrow, what

## Enumerations

### Anonymous

INDEX_SIZE_ERR = 1

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

_NUMBER_OF_MESSAGES

## Constructors

### DOMException

DOMException(
unsigned short code
);

Creates a DOMException with the given error code.

### DOMException

DOMException(
const DOMException & exc
);

Creates a DOMException by copying another one.

## Destructor

### ~DOMException

~DOMException() noexcept;

Destroys the DOMException.

## Member Functions

### className

const char * className() const noexcept;

Returns the name of the exception class.

See also: Poco::XML::XMLException::className()

### clone

Poco::Exception * clone() const;

Creates an exact copy of the exception.

### code

unsigned short code() const;

Returns the DOM exception code.

### name

const char * name() const noexcept;

Returns a static string describing the exception.

See also: Poco::XML::XMLException::name()

### operator =

DOMException & operator = (
const DOMException & exc
);

### rethrow

void rethrow() const;

(Re)Throws the exception.

See also: Poco::XML::XMLException::rethrow()

### message

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