Home Développement Web Comment maitriser la gestion des erreurs en JavaScript avec la syntaxe try…catch

Comment maitriser la gestion des erreurs en JavaScript avec la syntaxe try…catch

gestion des erreurs en JavaScript
Les erreurs en  JavaScript

Les gestion des erreurs en Javascript

Les erreurs en Javascript sont une partie inévitable de la programmation. Elles peuvent être causées par une variété de facteurs, notamment des erreurs de syntaxe, des erreurs de logique, ou des problèmes externes tels que des interruptions réseau.

Les erreurs en Javascript sont représentées par des objets de la classe Error. Ces objets contiennent des informations sur le type d’erreur, l’instruction qui a provoqué l’erreur, et la trace de la pile lorsque l’erreur s’est produite.

La gestion des erreurs est une partie importante de la programmation JavaScript. En gérant correctement les erreurs, vous pouvez garantir que votre code continuera à fonctionner correctement même en cas de problème.

Types d’erreurs en Javascript

Il existe de nombreux types d’erreurs en Javascript. Certains des types d’erreurs les plus courants sont les suivants :

  • Erreurs de syntaxe : Ces erreurs sont causées par des erreurs de grammaire dans le code JavaScript. Par exemple, une erreur de syntaxe courante est d’omettre une parenthèse ou un point-virgule.
JavaScript
// Erreur de syntaxe
var x = 10;
y = x.toUpperCase();

Cette erreur se produit car la variable y n’a pas été déclarée avant son utilisation.

  • Erreurs de logique : Ces erreurs sont causées par des erreurs dans la logique du code JavaScript. Par exemple, une erreur de logique courante est de tenter d’accéder à une propriété qui n’existe pas.

Les erreurs en Javascript

// Erreur de logique
var x = "Hello";
x.toUpperCase();

Cette erreur se produit car la variable x n’est pas un objet de la classe String.

  • Erreurs externes : Ces erreurs sont causées par des problèmes externes tels que des interruptions réseau ou des erreurs de matériel. Par exemple, une erreur externe courante est une erreur de connexion réseau.
JavaScript
// Erreur externe
fetch("https://example.com");

Cette erreur se produit si le serveur example.com n’est pas accessible.

Propriétés des objets d’erreurs en Javascript

Les objets d’erreur en JavaScript possèdent les propriétés suivantes :

  • name : Le nom du type d’erreur.
JavaScript
// Exemple de la propriété `name`
const error = new Error("Une erreur personnalisée");
console.log(error.name); // "Error"
  • message : Un message décrivant l’erreur.
JavaScript
// Exemple de la propriété `message`
const error = new Error("Une erreur personnalisée");
console.log(error.message); // "Une erreur personnalisée"
  • stack : La trace de la pile lorsque l’erreur s’est produite.
JavaScript
// Exemple de la propriété `stack`
const error = new Error("Une erreur personnalisée");
console.log(error.stack);
//    at <anonymous>:1:1
//    at Module._compile (module.js:573:32)
//    at Object.Module._extensions..js (module.js:578:10)
//    at Module.load (module.js:566:32)
//    at tryCatch (internal/TryCatch.js:83:12)
//    at Module._load (module.js:561:32)
//    at Function.Module.runMain (module.js:604:10)
//    at startup (bootstrap_node.js:193:16)

La propriété name est la propriété la plus importante d’un objet d’erreur. Elle permet de déterminer le type d’erreur qui s’est produite.

La propriété message contient un message décrivant l’erreur. Ce message peut être utile pour comprendre la cause de l’erreur.

La propriété stack contient la trace de la pile lorsque l’erreur s’est produite. Cette information peut être utile pour identifier la source de l’erreur.

Gestion des erreurs en JavaScript

Syntaxe try...catch

La syntaxe try...catch permet d’exécuter un bloc de code et d’intercepter les erreurs qui se produisent dans ce bloc. La syntaxe est la suivante :

JavaScript
try {
  // Bloc de code à exécuter
} catch (error) {
  // Bloc de code à exécuter si une erreur se produit
}

Le bloc try contient le code que vous souhaitez exécuter. Si une erreur se produit dans le bloc try, le bloc catch est exécuté. Le bloc catch reçoit en paramètre un objet d’erreur qui contient des informations sur l’erreur qui s’est produite.

Exemple

Voici un exemple de la syntaxe try...catch :

JavaScript
try {
  // Convertir une chaîne en nombre
  const number = parseInt("123");
} catch (error) {
  // Afficher un message d'erreur
  console.log(error.message);
}

Dans cet exemple, nous essayons de convertir la chaîne « 123 » en nombre. Si la conversion échoue, le bloc catch est exécuté et le message d’erreur « Le type d’objet n’est pas un nombre » est affiché.

Plusieurs blocs catch

Il est possible de définir plusieurs blocs catch pour gérer différents types d’erreurs. Pour ce faire, il suffit de définir un bloc catch pour chaque type d’erreur que vous souhaitez gérer.

JavaScript
try {
  // Convertir une chaîne en nombre
  const number = parseInt("123");
} catch (error) {
  // L'erreur est due à un nombre non valide
  if (error.name === "TypeError") {
    console.log("Le nombre n'est pas valide");
  }
} catch (error) {
  // L'erreur est due à un autre problème
  console.log(error.message);
}

Dans cet exemple, nous avons défini deux blocs catch. Le premier bloc catch est exécuté si l’erreur est due à un nombre non valide. Le deuxième bloc catch est exécuté si l’erreur est due à un autre problème.

Le bloc finally

Le bloc finally est exécuté après l’exécution du bloc try et du bloc catch. Le bloc finally est utile pour effectuer des tâches qui doivent être exécutées, quel que soit le résultat de l’exécution du bloc try.

JavaScript
try {
  // Convertir une chaîne en nombre
  const number = parseInt("123");
} catch (error) {
  // Afficher un message d'erreur
  console.log(error.message);
} finally {
  // Fermer la connexion à la base de données
  db.close();
}

Dans cet exemple, nous essayons de convertir la chaîne « 123 » en nombre. Si la conversion échoue, le bloc catch est exécuté et le message d’erreur « Le type d’objet n’est pas un nombre » est affiché. Le bloc finally est exécuté après l’exécution du bloc try et du bloc catch. Dans cet exemple, nous utilisons le bloc finally pour fermer la connexion à la base de données, même si la conversion du nombre échoue.

Conclusion

La gestion des erreurs est une partie importante de la programmation JavaScript. En gérant correctement les erreurs en JavaScript, vous pouvez garantir que votre code continuera à fonctionner correctement même en cas de problème.