diff options
| author | julieng <julien.gattelier@gmail.com> | 2021-08-03 08:03:09 +0200 |
|---|---|---|
| committer | SphinxKnight <SphinxKnight@users.noreply.github.com> | 2021-09-03 08:08:25 +0200 |
| commit | 844f5103992238c0c23203286dad16a466e89c97 (patch) | |
| tree | d537708951bb2b61be8192ffacc05a0ce6804f89 /files/fr/web/javascript/reference/global_objects/error/index.html | |
| parent | a70fd5b73ecb10bec3906640023e2a1a46e118a2 (diff) | |
| download | translated-content-844f5103992238c0c23203286dad16a466e89c97.tar.gz translated-content-844f5103992238c0c23203286dad16a466e89c97.tar.bz2 translated-content-844f5103992238c0c23203286dad16a466e89c97.zip | |
move *.html to *.md
Diffstat (limited to 'files/fr/web/javascript/reference/global_objects/error/index.html')
| -rw-r--r-- | files/fr/web/javascript/reference/global_objects/error/index.html | 246 |
1 files changed, 0 insertions, 246 deletions
diff --git a/files/fr/web/javascript/reference/global_objects/error/index.html b/files/fr/web/javascript/reference/global_objects/error/index.html deleted file mode 100644 index 5675ff256a..0000000000 --- a/files/fr/web/javascript/reference/global_objects/error/index.html +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: Error -slug: Web/JavaScript/Reference/Global_Objects/Error -tags: - - Error - - JavaScript - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/Error -original_slug: Web/JavaScript/Reference/Objets_globaux/Error ---- -<div>{{JSRef}}</div> - -<p>Le constructeur <strong><code>Error</code></strong> crée un objet d'erreur. Des instances d'objets <code>Error</code> sont déclenchées lorsque des erreurs d'exécution surviennent. L'objet <code>Error</code> peut aussi être utilisé comme objet de base pour des exceptions définies par l'utilisateur. Voir ci-dessous pour les types d'erreur natifs standard.</p> - -<h2 id="Syntaxe">Syntaxe</h2> - -<pre class="syntaxbox notranslate">new Error([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</pre> - -<h3 id="Paramètres">Paramètres</h3> - -<dl> - <dt><code>message</code> {{optional_inline}}</dt> - <dd>Description de l'erreur sous une forme lisible par un humain.</dd> - <dt><code>fileName</code> {{optional_inline}}{{Non-standard_inline}}</dt> - <dd>Argument qui sera utilisé pour la valeur de la propriété <code>fileName</code> dans l'objet <code>Error</code> créé. Par défaut, ce sera le nom du fichier contenant le code qui a appelé le constructeur <code>Error()</code>.</dd> - <dt><code>lineNumber</code> {{optional_inline}}{{Non-standard_inline}}</dt> - <dd>Argument qui sera utilisé pour la valeur de la propriété <code>lineNumber</code> dans l'objet <code>Error</code> créé. Par défaut, ce sera le numéro de la ligne contenant l'invocation du constructeur <code>Error()</code>.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>Les erreurs d'exécution ont pour résultat la création et le déclenchement d'objets <code>Error</code>.</p> - -<p>Cette page documente l'utilisation de l'objet <code>Error</code> lui-même et son utilisation comme fonction constructeur. Pour une liste des propriétés et des méthodes héritées par les instances d'<code>Error</code>, voir {{jsxref("Error.prototype")}}.</p> - -<h3 id="Utilisation_de_Error_comme_fonction">Utilisation de <code>Error</code> comme fonction</h3> - -<p>Lorsqu'<code>Error</code> est utilisée comme fonction sans utiliser l'opérateur {{jsxref("Opérateurs/L_opérateur_new", "new")}}, cet appel renverra un objet <code>Error</code>. Aussi, un simple appel à <code>Error</code> produira le même résultat qu'une invocation avec <code>new</code>.</p> - -<pre class="brush: js notranslate">// Cette instruction : -const x = Error("J'ai été créée sans new"); - -// Aura le même effet que -const y = new Error("J'ai été créée avec new");</pre> - -<h3 id="Types_derreur">Types d'erreur</h3> - -<p>En plus du constructeur <code>Error</code> générique, il existe sept autres constructeurs d'erreur de base en JavaScript. Pour les exceptions côté client, voir <a href="/fr/docs/Web/JavaScript/Guide/Contr%C3%B4le_du_flux_Gestion_des_erreurs">Contrôle du flux d'instructions et gestion des erreurs</a>.</p> - -<dl> - <dt>{{jsxref("EvalError")}}</dt> - <dd>Crée une instance représentant une erreur se produisant en relation avec la fonction globale {{jsxref("eval","eval()")}}.</dd> - <dt>{{jsxref("RangeError")}}</dt> - <dd>Crée une instance représentant une erreur se produisant quand une variable numérique ou un paramètre est en dehors de sa plage de validité.</dd> - <dt>{{jsxref("ReferenceError")}}</dt> - <dd>Crée une instance représentant une erreur se produisant lors du déréférencement d'une référence invalide.</dd> - <dt>{{jsxref("SyntaxError")}}</dt> - <dd>Crée une instance représentant une erreur de syntaxe se produisant lors d'une analyse de code dans {{jsxref("eval", "eval()")}}.</dd> - <dt>{{jsxref("TypeError")}}</dt> - <dd>Crée une instance représentant une erreur se produisant quand une variable ou un paramètre n'est pas d'un type valide.</dd> - <dt>{{jsxref("URIError")}}</dt> - <dd>Crée une instance représentant une erreur se produisant quand des paramètres invalides sont passés à {{jsxref("encodeURI", "encodeURI()")}} ou à {{jsxref("decodeURI", "decodeURI()")}}.</dd> - <dt>{{JSxRef("AggregateError")}}</dt> - <dd>Crée une instance représentant différentes erreurs agrégées en une seule lorsque plusieurs erreurs sont rapportées par une opération, par exemple avec {{JSxRef("Promise.any()")}}.</dd> - <dt>{{jsxref("InternalError")}} {{non-standard_inline}}</dt> - <dd>Crée une instance représentant une erreur se produisant quand une erreur interne dans le moteur JavaScript est déclenchée. Par ex., "too much recursion".</dd> -</dl> - -<h2 id="Propriétés">Propriétés</h2> - -<dl> - <dt>{{jsxref("Error.prototype")}}</dt> - <dd>Permet l'ajout de propriétés aux instances <code>Error</code>.</dd> -</dl> - -<h2 id="Méthodes">Méthodes</h2> - -<p>L'objet global <code>Error</code> ne contient pas de méthodes en propre, toutefois, il hérite de certaines méthodes via la chaine de prototype.</p> - -<h2 id="Instances_dError">Instances d'<code>Error</code></h2> - -<div>{{page('fr/docs/JavaScript/Reference/Objets_globaux/Error/prototype', 'Description')}}</div> - -<h3 id="Propriétés_2">Propriétés</h3> - -<p>{{page('fr/docs/JavaScript/Reference/Objets_globaux/Error/prototype', 'Propriétés')}}</p> - -<h3 id="Méthodes_2">Méthodes</h3> - -<p>{{page('fr/docs/JavaScript/Reference/Objets_globaux/Error/prototype', 'Méthodes')}}</p> - -<h2 id="Exemples">Exemples</h2> - -<h3 id="Déclenchement_dune_erreur_générique">Déclenchement d'une erreur générique</h3> - -<p>Vous créez habituellement un objet <code>Error</code> dans l'intention de le déclencher en utilisant le mot-clé {{jsxref("Instructions/throw", "throw")}}. Vous pouvez gérer l'erreur en utilisant la construction {{jsxref("Instructions/try...catch", "try...catch")}} :</p> - -<pre class="brush: js notranslate">try { - throw new Error("Ouups !"); -} catch (e) { - console.log(e.name + ": " + e.message); -} -</pre> - -<h3 id="Gestion_dune_erreur_spécifique">Gestion d'une erreur spécifique</h3> - -<p>Vous pouvez choisir de ne gérer que des types d'erreur particuliers en testant le type de l'erreur via la propriété {{jsxref("Object.prototype.constructor", "constructor")}} de l'erreur ou, si vous écrivez pour des interpréteurs JavaScript modernes, le mot-clé {{jsxref("Opérateurs/instanceof", "instanceof")}} :</p> - -<pre class="brush: js notranslate">try { - machin.truc(); -} catch (e) { - if (e instanceof EvalError) { - console.log(e.name + ": " + e.message); - } else if (e instanceof RangeError) { - console.log(e.name + ": " + e.message); - } - // ... etc -} -</pre> - -<h3 id="Types_derreur_personnalisés">Types d'erreur personnalisés</h3> - -<p>Vous pouvez vouloir définir vos propres types d'erreur dérivants d'<code>Error</code> pour pouvoir écrire <code>throw new MonErreur()</code> et utiliser <code>instanceof MonErreur</code> afin de vérifier le type d'erreur dans le gestionnaire d'exceptions. Cela a pour résultat un code de gestion d'erreur plus propre et plus cohérent. Voir <a href="http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript"><em>What's a good way to extend Error in JavaScript?</em></a> sur StackOverflow pour une discussion en profondeur.</p> - -<h4 id="Classes_derreur_personnalisées_avec_ECMAScript_2015_ES6">Classes d'erreur personnalisées avec ECMAScript 2015 / ES6</h4> - -<div class="warning"> -<p><strong>Attention :</strong> Babel, dans les versions antérieures à Babel 7, ainsi que d'autres transpileurs ne géreront pas correctement le code suivant sans <a href="https://github.com/loganfsmyth/babel-plugin-transform-builtin-extend">configuration supplémentaire</a>. Les versions de Babel antérieures à la version 7 peuvent uniquement gérer les classes d'erreur personnalisées lorsque celles-ci sont créées avec <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object/defineProperty">Object.defineProperty()</a></code>.</p> -</div> - -<div class="note"> -<p><strong>Note :</strong> Certains navigateurs incluent le constructeur <code>CustomError</code> (Erreur Personnalisée) dans la pile d'appels lors de l'utilisation de classes ES6.</p> -</div> - -<pre class="brush: js notranslate">class CustomError extends Error { - constructor(machin = 'truc', ...params) { - // Passer les arguments restants (incluant ceux spécifiques au vendeur) au constructeur parent - super(...params); - - // Maintenir dans la pile une trace adéquate de l'endroit où l'erreur a été déclenchée (disponible seulement en V8) - if(Error.captureStackTrace) { - Error.captureStackTrace(this, CustomError); - } - this.name = 'CustomError'; - // Informations de déboguage personnalisées - this.machin = machin; - this.date = new Date(); - } -} - -try { - throw new CustomError('bidule', 'messageBidule'); -} catch(e){ - console.log(e.name); // CustomError - console.log(e.machin); // bidule - console.log(e.message); // messageBidule - console.log(e.stack); // stacktrace -}</pre> - -<h4 id="Objet_derreur_personnalisé_ES5">Objet d'erreur personnalisé ES5</h4> - -<div class="warning"> -<p><strong>Attention :</strong> Tous les navigateurs incluent le constructeur <code>CustomError</code> dans la pile d'appel lorsqu'une déclaration prototypale est utilisée.</p> -</div> - -<pre class="brush: js notranslate">function CustomError(machin, message, nomFichier, numeroLigne) { - var instance = new Error(message, nomFichier, numeroLigne); - instance.name = 'CustomError'; - instance.machin = machin; - Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); - if(Error.captureStackTrace) { - Error.captureStackTrace(instance, CustomError); - } - return instance; -} - -CustomError.prototype = Object.create(Error.prototype, { - constructor: { - value: Error, - enumerable: false, - writable: true, - configurable: true - } -}); - -if (Object.setPrototypeOf){ - Object.setPrototypeOf(CustomError, Error); -} else { - CustomError.__proto__ = Error; -} - - -try { - throw new CustomError('bidule', 'messageBidule'); -} catch(e){ - console.log(e.name); // CustomError - console.log(e.toto); // bidule - console.log(e.message); // messageBidule - console.log(e.lineNumber); // 29 -}</pre> - -<h2 id="Spécifications">Spécifications</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-error-objects', 'Error')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-error-objects', 'Error')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.11', 'Error')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Définition initiale. Implémentée avec JavaScript 1.1.</td> - </tr> - </tbody> -</table> - -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> - -<p>{{Compat("javascript.builtins.Error")}}</p> - -<h2 id="Voir_aussi">Voir aussi</h2> - -<ul> - <li>{{jsxref("Error.prototype")}}</li> - <li>{{jsxref("Instructions/throw", "throw")}}</li> - <li>{{jsxref("Instructions/try...catch", "try...catch")}}</li> -</ul> |
