Interception des exceptions dans le code imbriqué en JavaScript
La particularité et la commodité des exceptions résident dans le fait qu'elles peuvent être attrapées à n'importe quel niveau d'imbrication du code. Regardons un exemple. Supposons que nous ayons une fonction qui enregistre des données dans le stockage local :
function save(str) {
localStorage.setItem('key', str);
}
Comme vous le savez déjà, en cas de débordement du stockage,
la méthode setItem lancera une exception.
Il n'est pas obligatoire, cependant, d'attraper cette exception
à l'intérieur de la fonction save. On peut englober
chaque appel de la fonction elle-même dans un try :
try {
save('une certaine chaîne');
} catch (error) {
alert('espace insuffisant dans le stockage local !');
}
Une fonction est donnée, convertissant le JSON en tableau :
function getArr(json) {
return JSON.parse(json);
}
Dans le code suivant, un tableau est obtenu à partir du JSON :
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Enveloppez l'appel de la fonction dans la construction try-catch.