Tratamento de exceções em JavaScript
Para capturar exceções, usa-se a
construção try-catch. Ela possui
a seguinte sintaxe:
try {
// código
} catch (error) {
// tratamento do erro
}
No bloco try, deve-se colocar o código
que pode conter uma exceção. Se
de repente durante a execução desse código ocorrer
uma situação excepcional, nosso
script não irá travar com um erro no console, mas começará a executar
o código do bloco catch.
Neste bloco, devemos responder ao erro de
alguma forma adequada. Por exemplo,
se queríamos enviar alguns dados
pela internet e a internet não está funcionando,
no bloco catch podemos lidar com a
situação: pode-se, por exemplo, exibir uma mensagem
ao usuário, ou pode-se tentar
enviar os dados novamente após algum tempo - caso
a internet já esteja funcionando.
Se durante a execução do bloco try nenhuma
situação excepcional ocorrer, então
o código útil simplesmente será executado, e o código do
bloco catch - não.
Como exemplo, vamos tentar fazer o parsing de um JSON e, caso ele esteja incorreto, exibir uma mensagem sobre isso:
try {
let data = JSON.parse('{1,2,3,4,5}');
} catch (error) {
alert('Não é possível executar a operação de parsing do JSON');
}
É dado um código que grava uma determinada string no armazenamento local:
let str = 'alguma string';
localStorage.setItem('key', str);
Envolva este código na construção try-catch.
No bloco catch, exiba uma mensagem sobre
estouro do armazenamento. Verifique o funcionamento
do seu código para uma string de tamanho inferior a 5
MB e para uma string de tamanho maior.
É dado um JSON, dentro do qual é armazenado um array.
Se este JSON estiver correto, exiba os elementos
do array na forma de uma lista ul. Se
o JSON não estiver correto, exiba uma mensagem
informando que ocorreu um erro na página.