Les erreurs en JavaScript

Objectif

  • Apprendre à gérer les erreurs en JavaScript.

Mise en situation

Le JavaScript, à l'instar de beaucoup de langages, possède un système de gestion d'erreur.

Quand l'interpréteur traite du code problématique, il peut retourner une erreur standard à destination du développeur, qu'il est essentiel de savoir interpréter et corriger adéquatement.

Les erreurs sur le MDN

Le MDN dispose d'une liste exhaustive des erreurs natives du JavaScript.

ExempleReferenceError: "x" is not defined

Cette erreur est fréquente et facilement compréhensible. Sa page sur le MDN nous indique qu'elle apparaît lorsqu'une variable « x » est référencée mais n'existe pas (pas déclarée) dans la portée utilisée. On y retrouve aussi des exemples pour reproduire cette erreur avec des variables non déclarées ou hors de portée.

ExempleTypeError: invalid 'in' operand "x"

1
const hello = 'hello world'
2
if ('hello' in hello) {
3
  console.log('hello se trouve dans la chaîne de caractère ' + hello)
4
}
5

Le code ci-dessus pourrait paraître normal pour un développeur Python qui s'est habitué à utiliser le mot-clé in pour savoir si une chaîne se trouve dans une autre.

En JavaScript, ce code renvoie une erreur.

Une consultation de la page MDN de cette erreur explique que in ne fonctionne que sur les objets (pour vérifier si une propriété existe), et non sur les chaînes de caractères.

ExempleSyntaxError: missing = in const declaration

Une erreur de syntaxe est levée lorsqu'une constante n'est pas initialisée. En effet, les constantes doivent être initialisée à la déclaration contrairement aux variables déclarées avec let ou var, même s'il s'agit d'une bonne pratique.

Là-aussi, la page de cette erreur sur le MDN donne des conseils au développeur dans la partie Résoudre le problème, par exemple en suggérant que ce n'est probablement pas une constante qu'il faut déclarer si cette erreur surgit. En effet, une constante est généralement connue au moment de la déclaration..

À retenir

  • Il faut être capable d'analyser les erreurs en les cherchant sur le MDN pour résoudre efficacement un problème.

Stéphane Crozat, Youssef El Saadany Paternité - Partage des Conditions Initiales à l'Identique