⊗jsSpExcInr 137 of 294 menu

Introdução a Situações Excepcionais em JavaScript

Agora vamos considerar situações excepcionais em JavaScript. Para começar, farei uma introdução, com exemplos de situações excepcionais em geral para qualquer linguagem de programação, e depois veremos como isso funciona em JavaScript.

Quando escrevemos nossos programas, implicitamente assumimos que todos os mecanismos técnico-programáticos que usamos funcionarão corretamente.

No entanto, isso nem sempre é verdade. Durante a transferência de dados pela rede, a conexão cai e os dados chegam até nós de forma incorreta, ou simplesmente não chegam. Ao gravar um arquivo, descobre-se que o espaço alocado para nós no disco rígido acabou, e o arquivo não pode ser gravado. Ao ler um arquivo, descobre-se que tal arquivo não existe e não temos de onde ler. Ao imprimir dados na impressora, ocorre uma ruptura no cabo que conecta a impressora ao computador.

Todas as situações descritas têm uma essência comum: ocorre uma falha que leva à impossibilidade ou falta de sentido em completar a operação planejada.

Há também situações em que ocorre um erro que não é uma falha. Por exemplo, você pergunta o email do usuário, e ele insere o email em um formato incorreto. É claro que nosso programa não pode continuar a processar o email, pois ele não está correto. Mas, no entanto, isso não é uma situação excepcional. Nosso programa pode corrigir a situação sozinho: ele exibirá uma mensagem de erro e o usuário repetirá sua entrada.

Na verdade, a diferença entre falha e não falha é bastante difusa. Um evento que um programa pode interpretar como uma situação excepcional, outro programa pode interpretar como um erro com o qual ele pode lidar.

O critério aqui é o seguinte: se, quando um problema ocorre, seu programa pode continuar a executar aquilo para o qual foi projetado, então não é uma situação excepcional; se não pode, então sim, é uma exceção.

Por exemplo, temos um programa que deve perguntar o email do usuário. Se o usuário inseriu o email em um formato incorreto - isso não é uma falha. É um problema esperado e nosso programa perguntará ao usuário o email quantas vezes for necessário, até que ele o insira corretamente.

Suponha que nosso programa, que pergunta o email, também deva enviar esse email correto através da internet. E então descobre-se que a internet não está funcionando. Isso já é um problema: o programa de modo algum poderá enviar os dados através da internet se ela não estiver funcionando. O programa, no entanto, pode continuar sua execução: ele pode exibir informações sobre o problema, repetir a tentativa de envio após algum tempo, e assim por diante. Mas essas ações já não são exatamente aquilo para o qual o programa foi projetado, pois a ação principal - enviar o email - o programa não conseguirá fazer.

Muitas vezes, se uma situação é excepcional ou não, depende da linguagem de programação. Em muitas linguagens, se de repente ocorre uma divisão por zero - isso é considerado uma exceção (já que não se pode dividir por zero), mas em JavaScript - não é considerado (em JavaScript é possível dividir por zero).

itidfrnlhu