DOMException
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
Note: This feature is available inWeb Workers.
TheDOMException interface represents an abnormal event (called anexception) that occurs as a result of calling a method or accessing a property of a web API. This is how error conditions are described in web APIs.
Each exception has aname, which is a short "PascalCase"-style string identifying the error or abnormal condition.
DOMException is aSerializable object, so it can be cloned withstructuredClone() or copied betweenWorkers usingpostMessage().
In this article
Constructor
DOMException()Returns a
DOMExceptionobject with a specified message and name.
Instance properties
DOMException.codeDeprecatedRead onlyReturns one of the legacy error code constants, or
0if none match.DOMException.messageRead onlyReturns a string representing a message or description associated with the givenerror name.
DOMException.nameRead onlyReturns a string that contains one of the strings associated with anerror name.
Error names
Common error names are listed here. Some APIs define their own sets of names, so this is not necessarily a complete list.
The following deprecated historical errors don't have an error name but instead have only a legacy constant code value and a legacy constant name:
- Legacy code value:
2, legacy constant name:DOMSTRING_SIZE_ERR - Legacy code value:
6, legacy constant name:NO_DATA_ALLOWED_ERR - Legacy code value:
16, legacy constant name:VALIDATION_ERR
Note:Because historically the errors were identified by a numeric value that corresponded with a named variable defined to have that value, some of the entries below indicate the legacy code value and constant name that were used in the past.
IndexSizeErrorThe index is not in the allowed range. For example, this can be thrown by the
Rangeobject. (Legacy code value:1and legacy constant name:INDEX_SIZE_ERR)HierarchyRequestErrorThe node tree hierarchy is not correct. (Legacy code value:
3and legacy constant name:HIERARCHY_REQUEST_ERR)WrongDocumentErrorThe object is in the wrong
Document. (Legacy code value:4and legacy constant name:WRONG_DOCUMENT_ERR)InvalidCharacterErrorThe string contains invalid characters. (Legacy code value:
5and legacy constant name:INVALID_CHARACTER_ERR)NoModificationAllowedErrorThe object cannot be modified. (Legacy code value:
7and legacy constant name:NO_MODIFICATION_ALLOWED_ERR)NotFoundErrorThe object cannot be found here. (Legacy code value:
8and legacy constant name:NOT_FOUND_ERR)NotSupportedErrorThe operation is not supported. (Legacy code value:
9and legacy constant name:NOT_SUPPORTED_ERR)InUseAttributeErrorThe attribute is in use. (Legacy code value:
10and legacy constant name:INUSE_ATTRIBUTE_ERR)InvalidStateErrorThe object is in an invalid state. (Legacy code value:
11and legacy constant name:INVALID_STATE_ERR)SyntaxErrorThe string did not match the expected pattern. (Legacy code value:
12and legacy constant name:SYNTAX_ERR)InvalidModificationErrorThe object cannot be modified in this way. (Legacy code value:
13and legacy constant name:INVALID_MODIFICATION_ERR)NamespaceErrorThe operation is not allowed by Namespaces in XML. (Legacy code value:
14and legacy constant name:NAMESPACE_ERR)InvalidAccessErrorThe object does not support the operation or argument. (Legacy code value:
15and legacy constant name:INVALID_ACCESS_ERR)TypeMismatchErrorDeprecatedThe type of the object does not match the expected type. (Legacy code value:
17and legacy constant name:TYPE_MISMATCH_ERR) This value is deprecated; the JavaScriptTypeErrorexception is now raised instead of aDOMExceptionwith this value.SecurityErrorThe operation is insecure. (Legacy code value:
18and legacy constant name:SECURITY_ERR)NetworkErrorExperimentalA network error occurred. (Legacy code value:
19and legacy constant name:NETWORK_ERR)AbortErrorExperimentalThe operation was aborted. (Legacy code value:
20and legacy constant name:ABORT_ERR)URLMismatchErrorExperimentalThe given URL does not match another URL. (Legacy code value:
21and legacy constant name:URL_MISMATCH_ERR)QuotaExceededErrorThe quota has been exceeded. (Legacy code value:
22and legacy constant name:QUOTA_EXCEEDED_ERR) It is a proper interface that derives fromDOMException.TimeoutErrorThe operation timed out. (Legacy code value:
23and legacy constant name:TIMEOUT_ERR)InvalidNodeTypeErrorExperimentalThe node is incorrect or has an incorrect ancestor for this operation. (Legacy code value:
24and legacy constant name:INVALID_NODE_TYPE_ERR)DataCloneErrorExperimentalThe object can not be cloned. (Legacy code value:
25and legacy constant name:DATA_CLONE_ERR)EncodingErrorExperimentalThe encoding or decoding operation failed (No legacy code value and constant name).
NotReadableErrorExperimentalThe input/output read operation failed (No legacy code value and constant name).
UnknownErrorExperimentalThe operation failed for an unknown transient reason (e.g., out of memory) (No legacy code value and constant name).
ConstraintErrorExperimentalA mutation operation in a transaction failed because a constraint was not satisfied (No legacy code value and constant name).
DataErrorExperimentalProvided data is inadequate (No legacy code value and constant name).
TransactionInactiveErrorExperimentalA request was placed against a transaction that is currently not active or is finished (No legacy code value and constant name).
ReadOnlyErrorExperimentalThe mutating operation was attempted in a "readonly" transaction (No legacy code value and constant name).
VersionErrorExperimentalAn attempt was made to open a database using a lower version than the existing version (No legacy code value and constant name).
OperationErrorExperimentalThe operation failed for an operation-specific reason (No legacy code value and constant name).
NotAllowedErrorThe request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission (No legacy code value and constant name).
Specifications
| Specification |
|---|
| Web IDL> # idl-DOMException> |
Browser compatibility
See also
- A polyfill of
DOMExceptionis available incore-js DOMError