Constructeur Error()
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.
Le constructeur Error
permet de créer un objet représentant une erreur.
Syntaxe
new Error();
new Error(message);
new Error(message, options);
new Error(message, nomFichier);
new Error(message, nomFichier, numeroLigne);
Paramètres
message
Facultatif-
Une description de l'erreur, compréhensible par un humain.
options
Facultatif-
Un objet avec les propriétés suivantes :
cause
Facultatif-
Une propriété qui indique la cause spécifique de l'erreur. Lors de l'interception puis du renvoi d'une erreur avec un autre message d'erreur, cette propriété devrait être utilisée afin de transmettre le message d'erreur original.
nomFichier
Facultatif Non standard-
La valeur de la propriété
nomFichier
pour l'objetError
créé. Par défaut, il s'agit du nom du fichier contenant le code qui a invoqué le constructeurError()
. numeroLigne
Facultatif Non standard-
La valeur de la propriété
numeroLigne
pour l'objetError
créé. Par défaut, il s'agit du numéro de ligne du fichier contenant l'appel au constructeurError()
.
Exemples
Appel comme fonction ou comme constructeur
Lorsque le constructeur Error()
est utilisé comme une fonction, c'est-à-dire sans l'opérateur new
, il renverra un objet Error
. Aussi, on aura un comportement équivalent qu'on appelle Error
avec ou sans le mot-clé new
.
// cette ligne…
const x = Error(`J'ai été créé avec un appel de fonction !`);
// …aura le même effet que celle-ci.
const y = new Error(`J'ai été construite avec le mot-clé "new" !`);
Transmettre une erreur en utilisant cause
Il est parfois utile d'intercepter une erreur avant de la ré-émettre avec un nouveau message. Dans de tels cas, afin de préserver les informations, on peut passer l'erreur d'origine dans le constructeur avec la propriété cause
de l'option.
try {
bibliothequeAvecErreurs();
} catch (err) {
throw new Error(`Nouveau message d'erreur`, { cause: err });
}
Pour un exemple plus détaillé, voir comment distinguer des erreurs semblables.
Spécifications
Specification |
---|
ECMAScript Language Specification # sec-error-constructor |
Compatibilité des navigateurs
BCD tables only load in the browser