Download - Aula 03 - Tratamento de Erros e Excecoes
Controle de Erros com Exceções
As exceções em Java referem-se aos erros que podem ser
gerados durante a execução de um programa.
Exceções são:
Erros de tempo de execução
Objetos criados a partir de classes especiais que são “lançados”
quando ocorrem condições excepcionais
Erros podem e devem ser controlados (tratados) dentro de um
programa.
1. Erros de lógica de programação
Ex.:limites do vetor ultrapassados, divisão por zero
Devem ser corrigidos pelo programador
2. Erros devido a condições do ambiente de execução
Ex.: arquivo não encontrado, rede fora do ar, etc.
Fogem do controle do programador, mas podem ser contornados em tempo de
execução.
3. Erros graves onde não adianta tentar recuperação
Ex.: falta de memória, erro interno do JVM
Fogem do controle do programador e não podem ser contornados
Três tipos de erros de tempo de execução
Esse controle pode ser feito através do mecanismo try-catch
Usado para tentar capturar as exceções.
O que fazer?
try
{
<conjunto de instruções>
}
catch (Nome da exceção)
{
<tratamento do erro>
}
Objetivo: previsão de erros de
execução.
Função:
- Desviar a execução de um programa
caso ocorram certos tipos de erro;
- Evitar que o programador precise
fazer testes de verificação e avaliação
antes de realizar certas operações.
Quando um erro ocorre, ele gera uma exceção que pode ser tratada pelo programa
Agora que já sabemos como
tratar erros, vamos resolver o
problema anterior!
Faz parte da estrutura try-
catch.
É inserido geralmente após o
último catch.
É opcional.
Fornece um conjunto de
códigos que é sempre
executado, independente de
uma exceção ocorrer ou não.
Uso do Bloco finally
try
erros
finally
catch
Sim
Não
Vamos testar o finally!
try {
<conjunto de instruções>
} catch (Nome da exceção) {
<tratamento do erro>
} finally {
<conjunto de instruções>
}
Lembre da estrutura:
Pode ocorrer de o programador não querer realizar controle sobre umaexceção.
A linguagem Java permite ao programador que um erro seja “descartado”,mesmo que ele o ocorra, entretanto é preciso que esse fato seja informadona declaração do método.
Esse processo pode ser realizado com a cláusula throws.
Uma declaração throws é obrigatória em métodos e construtores que deixamde capturar uma ou mais exceções que ocorrem em seu interior.
Declara que o método pode provocar exceções do tipo declarado.
Uso da Cláusula throws
public void ExemploDoThrows () throws Excecao1 {...}
Public Area () throws ExcecaoDeLimite {...}
Utilizada para disparar uma exceção, isto é, pode
forçar que uma exceção ocorra.
Com esta instrução é possível criar uma exceção
própria.
Uso da Instrução throw
throw new Exception (“ Minha Exceção”) // força que a exceção ocorra
O método getMessage serve para consultar e
retornar uma string armazenada em uma
determinada exceção.
O método printStackTrace retorna o tipo de
exceção gerado e informa em que linha do
programa ocorreu o erro.
Uso do getMessage e printStackTrace
Vamos a mais um exemplo!!!
Mas onde podemos aplicar
esses conceitos?
Faça um programa Java que solicite dois números ao
usuário e, em seguida, imprime o resultado da divisão
do primeiro pelo segundo. Trate a exceção
“ArithmeticException”. Teste o método “getMessage”
e “printStackTrace” de “Exception” e observe o tipo
de mensagem
Vamos praticar!
Lista de Exercícios(Disponível na página da disciplina)
CAPÍTULO 11: Exceções e controle de erros. Disponível
em:<http://www.caelum.com.br/apostila-java-orientacao-objetos/excecoes-
e-controle-de-erros/>. Acesso em 09 abr 2015.
Deitel, P. J., Deitel, H. Java: como programar. 8ª edição, Ed. São Paulo:
Pearson Prentice Hall, 2010.
Furgeri, S. Java 6: Ensino Didático - Desenvolvendo e Implementando
Aplicações. 2ª edição, Ed. São Paulo: Érica, 2008.
Sierra, K., Bates, B. Use a Cabeça! Java. 2ª edição, Ed. Rio de Janeiro: Alta
Books, 2010.
Material indicado
Próxima aula...
Hierarquia de Classes de Exceções