Aller au contenu

Gestion des erreurs

En JavaScript, une erreur interrompt l’exécution du code.
Sans gestion, l’application peut s’arrêter brutalement.

➡ Avec try...catch, on intercepte l’erreur pour la traiter proprement, sans planter le programme.


  • try → contient le code à exécuter.
  • catch → intercepte l’erreur si elle survient.
  • finally → s’exécute toujours (qu’il y ait erreur ou non).
try {
let resultat = 10 / 0;
console.log(resultat);
throw new Error("Erreur personnalisée");
} catch (erreur) {
console.error("Une erreur est survenue :", erreur.message);
} finally {
console.log("Bloc finally exécuté");
}

Avec throw, on peut lancer une erreur manuellement.

function division(a, b) {
if (b === 0) {
throw new Error("Division par zéro interdite");
}
return a / b;
}
try {
console.log(division(10, 0));
} catch (e) {
console.error(e.message); // Division par zéro interdite
}

On peut créer ses propres classes d’erreurs pour distinguer les cas.

class ValidationError extends Error {
constructor(message) {
super(message);
this.name = "ValidationError";
}
}
function validerAge(age) {
if (age < 18) {
throw new ValidationError("Âge insuffisant");
}
return true;
}
try {
validerAge(15);
} catch (e) {
if (e instanceof ValidationError) {
console.error("Erreur de validation :", e.message);
} else {
console.error("Autre erreur :", e);
}
}

  • Toujours fournir un message clair dans les erreurs (throw new Error("...")).
  • Utiliser finally pour libérer des ressources (fermer un fichier, arrêter une connexion…).
  • Créer des erreurs personnalisées pour mieux catégoriser les problèmes.
  • Ne pas abuser des try/catch → les utiliser seulement là où une erreur est probable.