Maison  >  Article  >  interface Web  >  Quels sont les types d’erreurs du programme JavaScript ?

Quels sont les types d’erreurs du programme JavaScript ?

青灯夜游
青灯夜游original
2021-09-08 18:22:232438parcourir

Les types d'erreurs du programme JavaScript sont divisés en : 1. Erreur ; 2. EvalError ; 3. RangeError ; 4. ReferenceError (erreur de référence) ;

Quels sont les types d’erreurs du programme JavaScript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.

Types d'erreur en JavaScript

ECMA-262 définit 7 types d'erreur :

  • Error

  • EvalError

  • RangeError

  • ReferenceError

  • SyntaxError

  • TypeError

  • URIError

où Error est le type de base (le type parent des six autres types), et les autres types en héritent. Le type Error est rare et est généralement utilisé par les navigateurs. lancé par le navigateur. Ce type de base est principalement utilisé par les développeurs pour générer des erreurs personnalisées.

1. SyntaxError (erreur de syntaxe) :

1.1 Le nom de la variable n'est pas conforme à la spécification

var 1 // Uncaught SyntaxError: Unexpected 

number
var 1a // Uncaught SyntaxError: Invalid or unexpected token

1.2 Affectation d'une valeur au mot-clé

function = 5 // Uncaught SyntaxError: Unexpected token =

2. Erreur de référence non interceptée ( erreur de référence) :

Une erreur se produit lors du référencement d'une variable qui n'existe pas. Attribuez une valeur à un objet qui ne peut pas être attribué, comme le résultat d'une fonction ou Affectation des fonctions.

2.1 Référence à une variable inexistante

a(); // Uncaught ReferenceError: a is not 

defined
console.log(b); // Uncaught ReferenceError: b is not defined

2.2 Assigner une valeur à un objet qui ne peut pas être assigné

console.log("abc") = 1 // Uncaught 

ReferenceError: Invalid left-hand side in assignment

3. quand un l'objet n'est valide qu'au-delà d'une erreur survenue pendant la portée. Il existe plusieurs situations principales. La première est que la longueur du tableau est un nombre négatif. La seconde est que les paramètres de méthode de l'objet Number sont hors plage et que la pile de fonctions dépasse la taille maximale. 3.1 La longueur du tableau est négative n'est pas du type attendu. Par exemple, utiliser de nouveaux types primitifs tels que des chaînes et des valeurs booléennes et l'objet appelant n'existe pas La méthode générera cette erreur car le paramètre de la nouvelle commande doit être un constructeur.

4.1 Appel d'une méthode inexistante

[].length = -5; // Uncaught RangeError: Invalid 

array length

4.2 Le nouveau mot-clé est suivi du type de base

var num = new Number(12.34);
console.log(num.toFixed(-1)); // Uncaught RangeError: toFixed() digits argument must be 

between 0 and 20 at Number.toFixed
// 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0

-20.

5. les fonctions associées sont incorrectes.

123(); // Uncaught TypeError: 123 is not a 

function
var o = {};
o.run(); // Uncaught TypeError: o.run is not a function
::: tip Rappel : erreurs générées lorsque les paramètres liés à l'URI sont incorrects, impliquant principalement encodeURI, decodeURI(), Six fonctions : encodeURIComponent(), decodeURIComponent(), escape() et unescape(). :::


6. EvalError eval() (erreur d'exécution de la fonction) :

Dans JavaScript inférieur à ES5, lorsque la fonction eval() n'est pas exécutée correctement, une erreur evalError sera générée. Par exemple La situation suivante :

var p = new 456(); // Uncaught TypeError: 456 

is not a constructor
::: avertissement Faites bon usage de try-catch où vous savez qu'une erreur se produira quelque part et pourra être résolue en modifiant le code. Il n’est pas approprié d’utiliser try-catch. Ou bien il ne convient pas aux erreurs causées par des erreurs de compatibilité de différents navigateurs, car il peut être jugé par Le navigateur peut déterminer s'il possède cet attribut et cette méthode pour le résoudre. :::

decodeURI("%"); // Uncaught URIError: 

URI malformed at decodeURI
Le code ci-dessus représente une nouvelle instance de l'objet d'erreur. L'essence est de générer manuellement l'erreur. Comme vous pouvez le voir, le constructeur de l'objet error accepte un Un paramètre représentant le message d'erreur (message).


Familiarisez-vous avec ces types d'erreurs de base et vous pourrez rapidement localiser et résoudre le problème lorsqu'une erreur se produit.

【Apprentissage recommandé :

Tutoriel avancé javascript

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn