Tratamento de exceções em código aninhado em JavaScript
A característica e conveniência das exceções reside no fato de que elas podem ser capturadas em qualquer nível de aninhamento de código. Vamos ver um exemplo. Suponha que temos uma função que salva dados no armazenamento local:
function save(str) {
localStorage.setItem('key', str);
}
Como você já sabe, quando o armazenamento estiver cheio,
o método setItem lançará uma exceção.
No entanto, não é obrigatório capturar essa exceção
dentro da função save. É possível envolver
cada chamada da própria função em try:
try {
save('alguma string');
} catch (error) {
alert('espaço no armazenamento local esgotado!');
}
Dada uma função que converte JSON em um array:
function getArr(json) {
return JSON.parse(json);
}
No código a seguir, um array é obtido a partir do JSON:
let arr = getArr('[1,2,3,4,5]');
console.log(arr);
Envolva a chamada da função na construção try-catch.