JavaScript Types d'erreur


Exemple

Il existe six constructeurs d’erreur de noyau spécifiques en JavaScript:

  • EvalError - crée une instance représentant une erreur concernant la fonction globale eval() .

  • InternalError - crée une instance représentant une erreur qui se produit lorsqu'une erreur interne du moteur JavaScript est générée. Par exemple, "trop ​​de récursivité". (Uniquement pris en charge par Mozilla Firefox )

  • RangeError - crée une instance représentant une erreur qui se produit lorsqu'une variable ou un paramètre numérique est en dehors de sa plage valide.

  • ReferenceError - crée une instance représentant une erreur qui survient lors du déréférencement d'une référence non valide.

  • SyntaxError - crée une instance représentant une erreur de syntaxe qui se produit lors de l'analyse du code dans eval() .

  • TypeError - crée une instance représentant une erreur qui se produit lorsqu'une variable ou un paramètre n'est pas d'un type valide.

  • URIError - crée une instance représentant une erreur qui se produit lorsque des paramètres non valides sont transmis à encodeURI() ou decodeURI() .

Si vous implémentez un mécanisme de traitement des erreurs, vous pouvez vérifier le type d'erreur que vous attrapez du code.

try {
    throw new TypeError();
}
catch (e){
    if(e instanceof Error){
        console.log('instance of general Error constructor');
    }

    if(e instanceof TypeError) {
        console.log('type error');
    }
}

Dans ce cas, e sera une instance de TypeError . Tous les types d'erreur étendent le constructeur de base Error , c'est donc aussi une instance d' Error .

Garder cela à l'esprit nous montre que vérifier e être une instance d' Error est inutile dans la plupart des cas.