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.

Some languages and object systems do not support the concept of
exceptions. For such systems, error conditions may be indicated using
native error reporting mechanisms. For some bindings, for example,
methods may return error codes similar to those listed in the
corresponding method descriptions.

TYPE_MISMATCH_ERR
If the type of an object is incompatible with the expected type of the
parameter associated to the object.

static short

VALIDATION_ERR
If a call to a method such as insertBefore or
removeChild would make the Node invalid
with respect to "partial validity", this exception would be raised
and the operation would not be done.

static short

WRONG_DOCUMENT_ERR
If a Node is used in a different document than the one
that created it (that doesn't support it).

INVALID_ACCESS_ERR

VALIDATION_ERR

public static final short VALIDATION_ERR

If a call to a method such as insertBefore or
removeChild would make the Node invalid
with respect to "partial validity", this exception would be raised
and the operation would not be done. This code is used in [DOM Level 3 Validation]
. Refer to this specification for further information.