Interception des exceptions en JavaScript
Pour intercepter les exceptions, on utilise la
construction try-catch. Elle a la
syntaxe suivante :
try {
// code
} catch (error) {
// traitement de l'erreur
}
Dans le bloc try, on doit placer le code
qui peut contenir une exception. Si
lors de l'exécution de ce code une
situation exceptionnelle survient, notre
script ne plantera pas avec une erreur dans la console,
mais le code du bloc catch commencera à s'exécuter.
Dans ce bloc, nous devons réagir d'une manière adéquate
à l'erreur. Par exemple,
si nous voulions envoyer des données
via internet et qu'internet ne fonctionne pas,
dans le bloc catch nous pouvons gérer
la situation : on peut, par exemple, afficher un message
à l'utilisateur, ou bien réessayer d'envoyer les données
après un certain temps - au cas où
internet fonctionnerait à nouveau.
Si lors de l'exécution du bloc try aucune
situation exceptionnelle ne se produit, alors
le code utile s'exécutera simplement, et le code du
bloc catch ne le sera pas.
Par exemple, essayons d'analyser du JSON et en cas d'incorrection, affichons un message à ce sujet :
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('impossible d\'effectuer l\'opération d\'analyse JSON');
}
Code donné qui enregistre une certaine chaîne dans le stockage local :
let str = 'une certaine chaîne';
localStorage.setItem('key', str);
Enveloppez ce code dans la construction try-catch.
Dans le bloc catch, affichez un message sur
le débordement du stockage. Vérifiez le fonctionnement
de votre code pour une chaîne de taille inférieure à 5
Mo et pour une chaîne de taille supérieure.
JSON donné, à l'intérieur duquel est stocké un tableau.
Si ce JSON est correct, affichez les éléments
du tableau sous forme de liste ul. Si le
JSON est incorrect, affichez à l'écran un message
indiquant qu'une erreur s'est produite sur la page.