Appearance
Les exceptions
Les exceptions en JavaScript sont des erreurs ou des comportements anormaux qui surviennent lors de l'exécution d'un script. Elles sont importantes dans la gestion des erreurs, car elles permettent de capturer et de traiter des situations imprévues, évitant ainsi que le programme ne se termine brusquement ou ne se comporte de manière inattendue. Voici les concepts clés liés aux exceptions en JavaScript :
Lancer des Exceptions (throw
)
Vous pouvez « lancer » (ou « lever ») une exception à l'aide de l'instruction throw
. Cela interrompt l'exécution normale du programme et transfère le contrôle à la première clause de capture d'exceptions correspondante, si elle existe.
javascript
function diviser(a, b) {
if (b === 0) {
throw new Error("Division par zéro !");
}
return a / b;
}
Dans cet exemple, une exception est levée si b
est zéro, empêchant ainsi la division par zéro.
Capture des Exceptions (try...catch
)
Pour gérer une exception, vous pouvez encadrer le code susceptible de lever une exception avec un bloc try
, suivi d'un bloc catch
pour traiter l'exception.
javascript
try {
let resultat = diviser(10, 0);
} catch (erreur) {
console.log(erreur.message); // "Division par zéro !"
}
Si une exception est levée dans le bloc try
, l'exécution passe immédiatement au bloc catch
, où l'erreur peut être gérée.
Bloc finally
Le bloc finally
est optionnel et est exécuté après les blocs try
et catch
, indépendamment du fait qu'une exception ait été levée ou non. C'est l'endroit idéal pour placer le code de nettoyage ou de finalisation.
javascript
try {
// Code qui peut lever une exception
} catch (erreur) {
// Gestion de l'erreur
} finally {
// Code exécuté après try et catch, quoi qu'il arrive
}
Types d'Exceptions
En JavaScript, les exceptions peuvent être de n'importe quel type, bien que les objets Error
et ses sous-classes soient les plus couramment utilisés. Les types d'exceptions courantes incluent ReferenceError
, TypeError
, RangeError
, etc.
Avantages de la Gestion des Exceptions
- Robustesse : Permet de construire des applications plus robustes en gérant les erreurs de manière contrôlée.
- Séparation du code d'erreur : Distingue clairement le code normal du code de gestion des erreurs.
- Informations sur les Erreurs : Les objets d'erreur contiennent des informations utiles telles que le message d'erreur, le nom de l'erreur et la pile d'appels (stack trace).