Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Tratamento de exceções<br />
Quando usamos um software, esperamos que ele seja tolerante à falhas – pelo menos às falhas mais<br />
comuns relativas à sua função. Quando um programador identifica uma falha possível de ocorrer<br />
durante a execução de seus programas, ele pode codificar estratégias de tolerância e/ou correção desta<br />
falha, em um processo conhecido como tratamento de exceções.<br />
O que são exceções ?<br />
Uma exceção é um evento ou valor ilegal, porém previsto na modelagem de um sistema. Por exemplo,<br />
quando criamos um programa que pede ao usuário a digitação de um valor inteiro e esse usuário digita<br />
um valor fracionário, dizemos que o valor digitado pelo usuário irá gerar uma exceção. Entretanto, essa<br />
exceção pode, e deve, ser previsto na implementação desse programa.<br />
Diferença entre exceções e erros<br />
A diferença entre exceção e erro é que uma exceção é prevista pelo programador durante a<br />
implementação de um sistema, enquanto o erro é algo inesperado, não tratado e que, na maioria das<br />
vezes, aborta o sistema.<br />
Exceção:<br />
O usuário digitou um valor inválido. (previsível)<br />
Solução: a implementação de um tratamento<br />
para a exceção gerada pela digitação de um<br />
valor inválido.<br />
Erro:<br />
13<br />
O teclado sofreu algum avaria física e parou<br />
de enviar sinais ao computador. O usuário não<br />
pode mais digitar valores com o teclado.<br />
(imprevisível)<br />
Solução: não tem solução, pois um programa<br />
comum de computador não pode reparar um<br />
periférico de um computador – um teclado em<br />
curto, por exemplo. Um erro, caso seja<br />
detectado, geralmente causa o encerramento<br />
do programa que o detectou.<br />
os erros são sinalizados pelo sistema operacional no qual a máquina virtual <strong>Java</strong> está rodando. Ou<br />
seja, geralmente, a máquina virtual não permite o acesso de um código <strong>Java</strong> à origem de um erro (uma<br />
das funções do sandbox), tornando a tentativa de tratamento dos erros impossível.<br />
Um exemplo de exceção pode ser visto no fragmento de código abaixo, onde o programa tenta acessar<br />
um índice inexistente no array alunos: