Cours sur les Exceptions en JavaScript
1 Introduction
En programmation, une exception est une erreur qui interrompt le dé-
roulement normal d’un programme. Au lieu de planter brutalement, JavaS-
cript permet de gérer ces erreurs grâce à des mécanismes spécifiques.
// Exemple d ’ erreur sans gestion
console . log (" D b u t du programme ") ;
let result = 10 / x ; // Erreur car x n est pas d f i n i
console . log (" Fin du programme ") ; // Jamais e x c u t
2 Le bloc try...catch
JavaScript utilise try...catch pour gérer les exceptions.
Syntaxe
try {
// Code qui peut provoquer une erreur
} catch ( erreur ) {
// Code e x c u t si une erreur est d t e c t e
}
Exemple
try {
let x = y + 2; // y n ’ est pas d f i n i Erreur
} catch ( err ) {
console . log (" Une erreur est survenue :" , err . message ) ;
}
1
3 Le bloc finally
On peut ajouter un bloc finally qui s’exécute toujours, qu’il y ait une
erreur ou non.
try {
console . log (" Ouverture d un fichier ...") ;
throw new Error (" Erreur de lecture !") ;
} catch ( err ) {
console . log (" Erreur d t e c t e :" , err . message ) ;
} finally {
console . log (" Fermeture du fichier ( finally ) .") ;
}
4 Lancer une exception avec throw
JavaScript permet de créer et lancer une erreur volontairement avec throw.
function division (a , b ) {
if ( b === 0) {
throw new Error (" Division par z r o interdite !") ;
}
return a / b ;
}
try {
console . log ( division (10 , 0) ) ;
} catch ( err ) {
console . log (" Erreur :" , err . message ) ;
}
5 Types d’erreurs en JavaScript
JavaScript fournit plusieurs objets d’erreur prédéfinis :
— Error → erreur générique
— ReferenceError → variable non définie
— TypeError → mauvaise utilisation d’un type
— SyntaxError → erreur de syntaxe
— RangeError → valeur hors intervalle
try {
null . f on c t io n I ne x i st a n te () ;
} catch ( err ) {
console . log ( err . name ) ; // TypeError
2
console . log ( err . message ) ; // " Cannot read properties of
null ..."
}
6 Bonnes pratiques
— Toujours utiliser try...catch autour du code potentiellement dange-
reux.
— Créer ses propres messages d’erreur avec throw new Error("...").
— Utiliser finally pour garantir le nettoyage.
— Ne pas abuser des exceptions pour la logique normale du programme.
7 Exemple complet
function parseJSON ( str ) {
try {
let data = JSON . parse ( str ) ;
return data ;
} catch ( err ) {
console . log (" Erreur de parsing JSON :" , err . message ) ;
return null ; // Valeur par d f a u t
} finally {
console . log (" Tentative de parsing t e r m i n e .") ;
}
}
console . log ( parseJSON ( ’{" nom ":" Alice "} ’) ) ; // objet
console . log ( parseJSON (" texte invalide ") ) ; // erreur mais
g r e
8 Résumé
— try...catch : intercepter une erreur et continuer le programme.
— finally : exécuté quoi qu’il arrive.
— throw : lancer une erreur volontaire.
— Différents types d’erreurs existent (Error, TypeError, ReferenceError,
etc.).