16

Click here to load reader

Aula 03 - Tratamento de Erros e Excecoes

Embed Size (px)

DESCRIPTION

Tratamento de Erros e Exceções em JAVA

Citation preview

Page 1: Aula 03 - Tratamento de Erros e Excecoes

Aula 05: Tratamento de

Erros e Exceções

Profª Jarbele Cássia

{[email protected]}

Page 2: 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.

Page 3: Aula 03 - Tratamento de Erros e Excecoes

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

Page 4: Aula 03 - Tratamento de Erros e Excecoes

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

Page 5: Aula 03 - Tratamento de Erros e Excecoes

Agora que já sabemos como

tratar erros, vamos resolver o

problema anterior!

Page 6: Aula 03 - Tratamento de Erros e Excecoes

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

Page 7: Aula 03 - Tratamento de Erros e Excecoes

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:

Page 8: Aula 03 - Tratamento de Erros e Excecoes

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 {...}

Page 9: Aula 03 - Tratamento de Erros e Excecoes

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

Page 10: Aula 03 - Tratamento de Erros e Excecoes

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

Page 11: Aula 03 - Tratamento de Erros e Excecoes

Vamos a mais um exemplo!!!

Page 12: Aula 03 - Tratamento de Erros e Excecoes

Mas onde podemos aplicar

esses conceitos?

Page 13: Aula 03 - Tratamento de Erros e Excecoes

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!

Page 14: Aula 03 - Tratamento de Erros e Excecoes

Lista de Exercícios(Disponível na página da disciplina)

Page 15: Aula 03 - Tratamento de Erros e Excecoes

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

Page 16: Aula 03 - Tratamento de Erros e Excecoes

Próxima aula...

Hierarquia de Classes de Exceções