Intercettazione delle eccezioni nel codice annidato in JavaScript
La caratteristica e la comodità delle eccezioni consistono nel fatto che possono essere catturate a qualsiasi livello di annidamento del codice. Osserviamo con un esempio. Supponiamo di avere una funzione che salva i dati nella memoria locale:
function save(str) {
localStorage.setItem('key', str);
}
Come già sapete, in caso di overflow della memoria,
il metodo setItem genererà un'eccezione.
Non è obbligatorio, tuttavia, catturare questa eccezione
all'interno della funzione save. È possibile avvolgere
in try ogni chiamata della funzione stessa:
try {
save('qualche stringa');
} catch (error) {
alert('spazio esaurito nella memoria locale!');
}
Data una funzione che converte JSON in un array:
function getArr(json) {
return JSON.parse(json);
}
Nel codice seguente, da JSON si ottiene un array:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Avvolgi la chiamata della funzione nella costruzione try-catch.