Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Tratamento de exceções

775 views

Published on

  • Be the first to comment

Tratamento de exceções

  1. 1. Tratamento de Exceções Antonio Álvaro Oliveira da Silva Wallysson Ferreira ArarunaInstituto Federal de Educação, Ciência e Tecnologia - IFCE campus Crato Seminário De POO I Professor: Robson Feitosa
  2. 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. 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
  4. 4. Exemplo SemTratamento de Exceções
  5. 5.  Define um bloco de tratamento de exceçãoSeminário de POO I - Tratamento de Exceções 5
  6. 6. Seminário de POO I - Tratamento de Exceções 6
  7. 7. Modelo de TratamentoPalavras 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çãoSeminário de POO I - Tratamento de Exceções 7
  8. 8.  Bloco try / catch try { ... } catch (Excecao1 e1) { ... } catch (Excecao2 e2) { ... }Seminário de POO I - Tratamento de Exceções 8
  9. 9. Seminário de POO I - Tratamento de Exceções 9
  10. 10. Seminário de POO I - Tratamento de Exceções 10
  11. 11. Seminário de POO I - Tratamento de Exceções 11
  12. 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
  13. 13. Hierarquia de Exceção Seminário de POO I - Tratamento de Exceções 13
  14. 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. 15. Exceções Verificadas versus NãoVerificadas 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. 16. Bloco finally É opcional, e é colocado após do ultimo bloco catch.Seminário de POO I - Tratamento de Exceções 16
  17. 17. Lançamento de Exceções com aInstruçã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. 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. 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. 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. 21. printStackTrace,getStackTrace egetMessage 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
  22. 22. Seminário de POO I - Tratamento de Exceções 22
  23. 23. Seminário de POO I - Tratamento de Exceções 23
  24. 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
  25. 25. Seminário de POO I - Tratamento de Exceções 25
  26. 26. Seminário de POO I - Tratamento de Exceções 26
  27. 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
  28. 28. Seminário de POO I - Tratamento de Exceções 28
  29. 29. OBRIGADO PELA ATENÇÃOSeminário de POO I - Tratamento de Exceções 29

×