Error

Résumé

Crée un objet erreur.

Syntaxe

new Error([message[, fileName[, lineNumber ]]])

Paramètres

message
Description de l'erreur compréhensible pour un humain
fileName
Nom du fichier dont le code a levé l'exception
lineNumber
Numéro de ligne dans le code à l'origine de l'exception

Description

Une erreur survenant pendant l'execution du programme entraîne la création et la levée d'un objet Error.

This page documents the use of the Error object itself and its use as a constructor function. For a list of properties and methods inherited by Error instances, see Error.prototype.

Cette page ne se concentre que sur l'objet Error en tant que tel, ainsi que la manière de l'utiliser comme constructeur. La liste des propriétés et méthodes disponibles par héritage dans les instances de l'objet Error peut être trouvée sur la page Error.prototype.

Types d'erreur

Il existe, en plus du constructeur générique Error, six autres constructeurs d'erreur en JavaScript. Les exceptions est causées par le client sont détaillées dans la page Exception Handling Statements.

EvalError
Crée une instance d'une erreur survenue suite à l'utilisation de la fonction globale eval().
RangeError
Crée une instance d'erreur survenue suite à l'utilisation d'une variable numérique ou d'un paramètre hors de son domaine de valeur.
ReferenceError
Crée une instance d'erreur survenue suite au dé-référencement d'une référence invalide
SyntaxError
Crée une instance d'erreur survenue suite à une erreur de syntaxe lors de la lecture du code par la fonction eval()
TypeError
Crée une instance d'erreur survenue lorsqu'une variable ou un paramètre n'est pas d'un type valide
URIError
Crée une instance d'erreur survenue lors d'un passage invalide de paramètres aux fonctions encodeURI() ou decodeURI().

Types d'erreur personnalisés

L'objet Error peut être étendu pour créer des types d'erreurs propres à votre projet.

// Crée un nouvel objet, héritage par prototype depuis le constructeur de type Error
function MyError(message) {
    this.name = "MyError";
    this.message = message || "Default Message";
}
MyError.prototype = new Error();
MyError.prototype.constructor = MyError;

try {
    throw new MyError();
} catch (e) {
    console.log(e.name);     // "MyError"
    console.log(e.message);  // "Default Message"
}

try {
    throw new MyError("custom message");
} catch (e) {
    console.log(e.name);     // "MyError"
    console.log(e.message);  // "custom message"
}

Propriétés

Pour les properties héritées par les instances de Error consultez Properties des instances de Error.

prototype
Permet l'ajout de propriétés aux instances de l'objet Error.

Properties héritées de Function.prototype

Méthodes

Pour les methods héritées par les instances de Error consultez Methods des instances de Error.

L'objet global Error ne contient pas de méthodes en propre, mais il hérite de méthodes du prototype chain.

Instances Error

Exemples

Exemple: Soulever une erreur globale

Vous utiliserez le plus souvent le mot-clé throw pour soulever une erreur que vous avez créée. Vous pouvez ensuite gérer cette erreur dans une construction try...catch:

try {
    throw new Error("Whoops!");
} catch (e) {
    alert(e.name + ": " + e.message);
}

Example: Gérer une erreur spécifique

Vous pouvez choisir de ne gérer qu'un type bien spécifique d'erreur en vérifiant son type via la propriété constructor de l'erreur, ou, si vous utilisez plutôt des interpréteurs Javascript modernes, le mot-clé instanceof.

try {
    foo.bar();
} catch (e) {
    if (e instanceof EvalError) {
        alert(e.name + ": " + e.message);
    } else if (e instanceof RangeError) {
        alert(e.name + ": " + e.message);
    }
    // ... etc
}

Référence

Étiquettes et contributeurs liés au document

Contributeurs ayant participé à cette page : rd6137, tregagnon, fscholz
Dernière mise à jour par : fscholz,