O documento discute o tratamento de exceções em Java, definindo exceções como eventos que quebram o fluxo normal de execução de um programa e indicam erros. Ele explica como tratar exceções usando os blocos try/catch e a palavra-chave finally, além de discutir exceções verificadas versus não verificadas e métodos para lidar com exceções lançadas.
1. Tratamento de
Exceções
Antonio Álvaro Oliveira da Silva
Wallysson Ferreira Araruna
Instituto Federal de Educação, Ciência e Tecnologia - IFCE campus Crato
Seminário De POO I
Professor: Robson Feitosa
2. Introdução
O que é Exceções?
São eventos que ocorrem durante a execução de
um programa e quebram o fluxo normal de
execução do Programa.
Indicam a ocorrência de erros ou condições
excepcionais no programa.
Seminário de POO I - Tratamento de Exceções 2
3. Algumas Exceções
Esgotamento de Memória;
Índice de Array Fora dos Limites;
Estouro Aritmético;
Erros de Manipulação de Arquivos;
Erros na Comunicação com Banco de Dados;
Divisão por Zero;
Parâmetros de Métodos Inválidos etc.
Seminário de POO I - Tratamento de Exceções 3
7. Modelo de Tratamento
Palavras Reservadas em Java
try, catch e finally
Define um bloco de tratamento de exceção.
throws
Declara que um método pode lançar uma exceção ou mais
exceções
throw
Lança uma exceção
Seminário de POO I - Tratamento de Exceções 7
12. Quando Utilizar Tratamento de Exceções
E utilizado para processar erros síncronos.
Não é projetado para processar problemas
associados com eventos assíncronos.
Para tornar um programa mais robusto e
tolerantes a falhas.
Seminário de POO I - Tratamento de Exceções 12
14. ArrayIndexOutOfBoundsException— é feita uma tentativa de
acessar um elemento depois do final de um array.
ClassCastException— ocorre uma tentativa de fazer uma coerção
em um objeto que não tem um relacionamento é um com o tipo
especificado no operador de coerção.
NullPointerException— quando uma referência null é utilizada
onde um objeto é esperado.
ArithmeticException— pode surgir a partir de diferentes
problemas na aritmética.
InputMismatchException- ocorre quando o método Scanner
nextInt recebe uma string que não representa um inteiro válido.
Seminário de POO I - Tratamento de Exceções 14
15. Exceções Verificadas versus Não
Verificadas
O compilador Java impõe um Requisito “capture ou declare” ás
exceções verificadas;
O tipo da exceção determina se a exceção é verificada ou não;
Todas as subclasses da classe RuntimeException são exceções não
verificadas;
Todas as classes que herdam da classe Exception menos a
RuntimeException são exceções verificadas;
As classes que herdam da classe Error são consideradas não
verificadas.
Seminário de POO I - Tratamento de Exceções 15
16. Bloco finally
É opcional, e é
colocado após do
ultimo bloco
catch.
Seminário de POO I - Tratamento de Exceções 16
17. Lançamento de Exceções com a
Instrução throw
E
utilizada para indicar que
uma exceção foi lançada.
Assim exceções lançadas indica
para os aplicativos clientes que
ocorreu um erro.
Seminário de POO I - Tratamento de Exceções 17
18. Relançando Exceções
As exceções são relançadas quando um
bloco catch,ao receber uma
exceção,decide que não pode processar
essa exceção ou que só pode processá-la
parcialmente.
Seminário de POO I - Tratamento de Exceções 18
19. Desempilhamento de Pilha
Quando uma exceção é lançada mas não
capturada em um escopo em particular, a
pilha de chamada de método é
“desempilhada” e é feita uma tentativa de
capturar (catch) a exceção no próximo bloco
try externo.
Seminário de POO I - Tratamento de Exceções 19
20. O Tipo que está sendo
capturado
RuntimeException não
corresponde ao tipo
lançado,pois ele não é
superclasse e sim subclasse
da classe Exception.
Seminário de POO I - Tratamento de Exceções 20
21. printStackTrace,getStackTrace e
getMessage
As exceções derivam da classe Throwable
printStackTrace - Envia para o fluxo de erro padrão o rastreamento da
pilha.É útil no processo de teste e depuração.
getStackTrace - Recupera as informações sobre o rastreamento da pilha
que podem ser impressos por printStackTrace.
getMessage – Retorna a string descritiva armazenada em uma exceção.
OBS: Nunca ignore uma exceção que capturou.
Seminário de POO I - Tratamento de Exceções 21
24. Exceções Encadeadas
Permitem a um objeto exceção manter
informações de rastreamento de pilha completas
a partir da exceção original.
Utiliza o construtor Exception com dois
argumentos, o segundo argumento representa a
exceção que era a causa original do problema.
Seminário de POO I - Tratamento de Exceções 24
27. Referencias
Deitel,Paul;Deitel,Harvey. Java Como Programar,8ª edição,editora Pearson
Prentice Hall 2010.
27
Seminário de POO I - Tratamento de Exceções