--- title: DOMException slug: Web/API/DOMException tags: - API - DOM - Erreurs - exceptions translation_of: Web/API/DOMException --- <p>{{ APIRef("DOM") }}</p> <p>L'interface <code><strong>DOMException</strong></code> représente un évènement anormal (appelé <strong>exception</strong>) qui appraît suite à l'appel d'une méthode ou à l'accès à une propriété d'une API web. C'est essentiellement lié à la façon dont les conditions d'erreur sont décrites dans les API web.</p> <p>Chaque exception a un <strong>nom</strong>, qui est une courte chaîne identifiant l'erreur ou la condition anormale.</p> <h2 id="Constructeur">Constructeur</h2> <dl> <dt>{{domxref("DOMException.DOMException()", "DOMException()")}} {{experimental_inline}}</dt> <dd>Retourne un objet <code>DOMException</code> avec un message et un nom spécifiés.</dd> </dl> <h2 id="Propriétés">Propriétés</h2> <dl> <dt>{{domxref("DOMException.code")}} {{deprecated_inline}} {{readOnlyInline}}</dt> <dd>Renvoie un court message qui contient l'un des {{anch ("Noms d'erreur", "constantes de code d'erreur")}} ou 0 si aucun ne correspond. Ce champ est utilisé pour des raisons historiques. Les nouvelles exceptions DOM ne l'utilisent plus : elles mettent cette information dans l'attribut {{domxref("DOMException.name")}}.</dd> <dt>{{domxref("DOMException.message")}} {{readOnlyInline}}</dt> <dd>Returne une {{domxref("DOMString")}} (<em>chaîne de caractères</em>) représentant un message ou une description associé avec le <a href="/en-US/docs/Web/API/DOMException#Error_names">nom d'erreur</a> donné.</dd> <dt>{{domxref("DOMException.name")}} {{readOnlyInline}}</dt> <dd>Retourne une {{domxref("DOMString")}} (<em>chaîne de caractères</em>) qui contient l'une des chaînes associées à un <a href="#Error_names">nom d'erreur</a>.</dd> </dl> <h2 id="Noms_d'erreur"><a id="noms d'erreur" name="noms d'erreur"></a>Noms d'erreur</h2> <p>Les noms d'erreurs courants sont répertoriés ici. Certaines API définissent leurs propres ensembles de noms, il ne s'agit donc pas ici nécessairement d'une liste complète.</p> <div class="note"> <p><strong>Note </strong>: Parce qu'historiquement les erreurs ont été identifiées par une valeur numérique qui correspondait à une variable nommée définie pour avoir cette valeur, certaines des entrées ci-dessous indiquent la valeur de code héritée et le nom de constante qui ont été utilisés dans le passé.</p> </div> <dl> <dt><a id="exception-IndexSizeError"><code>IndexSizeError</code></a></dt> <dd>L'index n'est pas dans la plage autorisée. Par exemple, cela peut être lancé par un objet {{ domxref("Range") }}. (Valeur de code héritée : <code>1</code> et nom de la constante héritée : <code>INDEX_SIZE_ERR</code>)</dd> <dt><code><a id="exception-HierarchyRequestError">HierarchyRequestError</a></code></dt> <dd>La hiérarchie de l'arborescence des nœuds est incorrecte. ( Valeur de code héritée : <code>3</code> et nom de la constante héritée : <code>HIERARCHY_REQUEST_ERR</code>)</dd> <dt><a id="exception-WrongDocumentError"><code>WrongDocumentError</code></a></dt> <dd>L'objet est dans le mauvais {{ domxref("Document") }}. ( Valeur de code héritée : <code>4</code> et nom de la constante héritée : <code>WRONG_DOCUMENT_ERR</code>)</dd> <dt><a id="exception-InvalidCharacterError"><code>InvalidCharacterError</code></a></dt> <dd>La chaîne contient des caractères non valides. (Valeur de code héritée : <code>5</code> et nom de la constante héritée : <code>INVALID_CHARACTER_ERR</code>)</dd> <dt><a id="exception-NoModificationAllowedError"><code>NoModificationAllowedError</code></a></dt> <dd>L'objet ne peut être modifié. (Valeur de code héritée : <code>7</code> et nom de la constante héritée : <code>NO_MODIFICATION_ALLOWED_ERR</code>)</dd> <dt><a id="exception-NotFoundError"><code>NotFoundError</code></a></dt> <dd>L'objet ne peut être trouvé ici. (Valeur de code héritée : <code>8</code> et nom de la constante héritée : <code>NOT_FOUND_ERR</code>)</dd> <dt><a id="exception-NotFoundError"><code>NotSupportedError</code></a></dt> <dd>L'opération n'est pas supportée. (Valeur de code héritée : <code>9</code> et nom de la constante héritée : <code>NOT_SUPPORTED_ERR</code>)</dd> <dt><a id="exception-InvalidStateError"><code>InvalidStateError</code></a></dt> <dd>L'objet est dans un état non valide. (Valeur de code héritée : <code>11</code> et nom de la constante héritée : <code>INVALID_STATE_ERR</code>)</dd> <dt><a id="exception-SyntaxError"><code>SyntaxError</code></a></dt> <dd>La chaîne ne correspond pas au modèle attendu. (Valeur de code héritée : <code>12</code> et nom de la constante héritée : <code>SYNTAX_ERR</code>)</dd> <dt><a id="exception-InvalidModificationError"><code>InvalidModificationError</code></a></dt> <dd>L'objet ne peut pas être modifié de cette manière. (Valeur de code héritée : <code>13</code> et nom de la constante héritée : <code>INVALID_MODIFICATION_ERR</code>)</dd> <dt><a id="exception-NamespaceError"><code>NamespaceError</code></a></dt> <dd>L'opération n'est pas autorisée par Namespaces en XML. (Valeur de code héritée : <code>14</code> et nom de la constante héritée : <code>NAMESPACE_ERR</code>)</dd> <dt><a id="exception-InvalidAccessError"><code>InvalidAccessError</code></a></dt> <dd>L'objet ne prend pas en charge l'opération ou l'argument. (Valeur de code héritée : <code>15</code> et nom de la constante héritée : <code>INVALID_ACCESS_ERR</code>)</dd> <dt><a id="exception-TypeMismatchError"><code>TypeMismatchError</code></a> {{deprecated_inline}}</dt> <dd>Le type de l'objet ne correspond pas au type attendu. (Valeur de code héritée : <code>17</code> et nom de la constante héritée : <code>TYPE_MISMATCH_ERR</code>). Cette valeur est dépéciée, l'exception {{jsxref("TypeError")}} JavaScript est maintenant utilisée à la place d'une <code>DOMException</code> avec cette valeur.</dd> <dt><a id="exception-SecurityError"><code>SecurityError</code></a> {{experimental_inline}}</dt> <dd>L'opération n'est pas sécurisée. (Valeur de code héritée : <code>18</code> et nom de la constante héritée : <code>SECURITY_ERR</code>)</dd> <dt><a id="exception-NetworkError"><code>NetworkError</code></a> {{experimental_inline}}</dt> <dd>Une erreur réseau s'est produite. (Valeur de code héritée : <code>19</code> et nom de la constante héritée : <code>NETWORK_ERR</code>)</dd> <dt><a id="exception-AbortError"><code>AbortError</code></a> {{experimental_inline}}</dt> <dd>L'opération a été annulée (Valeur de code héritée : <code>20</code> et nom de la constante héritée : <code>ABORT_ERR</code>)</dd> <dt><a id="exception-URLMismatchError"><code>URLMismatchError</code></a> {{experimental_inline}}</dt> <dd>L'URL donnée ne correspond pas à une autre URL. (Valeur de code héritée : <code>21</code> et nom de la constante héritée : <code>URL_MISMATCH_ERR</code>)</dd> <dt><a id="exception-QuotaExceededError"><code>QuotaExceededError</code></a> {{experimental_inline}}</dt> <dd>Le quota a été dépassé. (Valeur de code héritée : <code>22</code> et nom de la constante héritée : <code>QUOTA_EXCEEDED_ERR</code>)</dd> <dt><a id="exception-TimeoutError"><code>TimeoutError</code></a> {{experimental_inline}}</dt> <dd>Le temps est dépassé. (Valeur de code héritée : <code>23</code> et nom de la constante héritée : <code>TIMEOUT_ERR</code>)</dd> <dt><a id="exception-InvalidNodeTypeError"><code>InvalidNodeTypeError</code></a> {{experimental_inline}}</dt> <dd>Le noeud est incorrect ou a un ancêtre incorrect pour cette opération. (Valeur de code héritée : <code>24</code> et nom de la constante héritée : <code>INVALID_NODE_TYPE_ERR</code>)</dd> <dt><a id="exception-DataCloneError"><code>DataCloneError</code></a> {{experimental_inline}}</dt> <dd>L'objet ne peut pas être cloné. ( Valeur de code héritée : <code>25</code> et nom de la constante héritée : <code>DATA_CLONE_ERR</code>)</dd> <dt><a id="exception-EncodingError"><code>EncodingError</code></a> {{experimental_inline}}</dt> <dd>L'opération de codage ou de décodage a échoué (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-NotReadableError"><code>NotReadableError</code></a> {{experimental_inline}}</dt> <dd>L'opération de lecture entrée / sortie a échoué (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-UnknownError"><code>UnknownError</code></a> {{experimental_inline}}</dt> <dd>L'opération a échoué pour une raison transitoire inconnue (par exemple dépassement de mémoire) (Pas de valeur de code ni de nom de constante hérités) .</dd> <dt><a id="exception-ConstraintError"><code>ConstraintError</code></a> {{experimental_inline}}</dt> <dd>Une opération de mutation dans une transaction a échoué car une contrainte n'a pas été satisfaite (Pas de valeur de code ni de nom de constante hérités) .</dd> <dt><a id="exception-DataError"><code>DataError</code></a> {{experimental_inline}}</dt> <dd>Provided data is inadequate (No legacy code value and constant name).</dd> <dt><a id="exception-TransactionInactiveError"><code>TransactionInactiveError</code></a> {{experimental_inline}}</dt> <dd>Une demande a été placée contre une transaction qui n'est actuellement pas active ou qui est terminée (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-ReadOnlyError"><code>ReadOnlyError</code></a> {{experimental_inline}}</dt> <dd>L'opération de mutation a été tentée dans une transaction "en lecture seule" (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-VersionError"><code>VersionError</code></a> {{experimental_inline}}</dt> <dd>Une tentative a été faite pour ouvrir une base de données en utilisant une version inférieure à la version existante (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-OperationError"><code>OperationError</code></a> {{experimental_inline}}</dt> <dd>L'opération a échoué pour une raison spécifique à l'opération (Pas de valeur de code ni de nom de constante hérités).</dd> <dt><a id="exception-NotAllowedError"><code>NotAllowedError</code></a> {{experimental_inline}}</dt> <dd>La demande n'est pas autorisée par l'agent utilisateur ou la plateforme dans le contexte actuel, peut-être parce que l'utilisateur a refusé la permission (Pas de valeur de code ni de nom de constante hérités).</dd> </dl> <h2 id="Spécifications">Spécifications</h2> <table class="standard-table"> <tbody> <tr> <th scope="col">Spécification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> <tr> <td>{{SpecName('WebIDL', '#es-DOMException-call', 'constructor')}}</td> <td>{{Spec2('WebIDL')}}</td> <td>Ajout du constructeur pour la classe <code>DOMException</code>. Ajout des valeurs <code>NotReadableError</code>, <code>UnknownError</code>, <code>ConstraintError</code>, <code>DataError</code>, <code>TransactionInactiveError</code>, <code>ReadOnlyError</code>, <code>VersionError</code>, <code>OperationError</code> et <code>NotAllowedError</code>.</td> </tr> <tr> <td>{{SpecName('DOM4', '#exception-domexception', 'DOMException')}}</td> <td>{{Spec2('DOM4')}}</td> <td>Ajout des <code>SECURITY_ERR</code>, <code>NETWORK_ERR</code>, <code>ABORT_ERR</code>, <code>URL_MISMATCH_ERR</code>, <code>QUOTA_EXCEEDED_ERR</code>, <code>TIMEOUT_ERR</code>, <code>INVALID_NODE_TYPE_ERR</code>, et <code>DATA_CLONE_ERR</code>. La propriété <code>code</code> a été dépréciée pour les valeurs d'exception. La valeur <code>EncodingError</code> ajoutée.</td> </tr> <tr> <td>{{SpecName('DOM3 Core', 'core.html#ID-17189187', 'DOMException')}}</td> <td>{{Spec2('DOM3 Core')}}</td> <td>Ajout de <code>VALIDATION_ERR</code> et <code>TYPE_MISMATCH_ERR</code>.</td> </tr> <tr> <td>{{SpecName('DOM2 Core', 'core.html#ID-17189187', 'DOMException')}}</td> <td>{{Spec2('DOM2 Core')}}</td> <td>Ajout de <code>INVALID_STATE_ERR</code>, <code>SYNTAX_ERR</code>, <code>INVALID_MODIFICATION_ERR</code>, <code>NAMESPACE_ERR</code>, and <code>INVALID_ACCESS_ERR</code>.</td> </tr> <tr> <td>{{SpecName('DOM1', 'level-one-core.html#ID-17189187', 'DOMException')}}</td> <td>{{Spec2('DOM1')}}</td> <td>Définition initiale.</td> </tr> </tbody> </table> <h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> <p>{{Compat("api.DOMException")}}</p> <h2 id="Voir_aussi">Voir aussi</h2> <ul> <li>{{ domxref("DOMError") }}</li> </ul>