The DomException type exposes the following members.
If the specified range of text does not fit into a DOMString
If any node is inserted somewhere it doesn't belong
If index or size is negative, or greater than the allowed value
If an attempt is made to add an attribute that is already in use elsewhere
If a parameter or an operation is not supported by the underlying object.
If an invalid or illegal character is specified, such as in a name. See production 2 in the XML specification for the definition of a legal character, and production 5 for the definition of a legal name character.
If an attempt is made to modify the type of the underlying object.
If an attempt is made to use an object that is not, or is no longer, usable.
If an attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
If data is specified for a node which does not support data
If an attempt is made to modify an object where modifications are not allowed
If an attempt is made to reference a node in a context where it does not exist
If the implementation does not support the requested type of object or operation.
If an invalid or illegal string is specified.
If a node is used in a different document than the one that created it (that doesn't support it)