A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para.

Apresentações semelhantes


Apresentação em tema: "Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para."— Transcrição da apresentação:

1 Prof. Roberto Rosa Aula 8

2  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para isso, a primeira coisa que precisamos entender é como utilizar os blocos tratadores, no caso o "try catch".

3  Quando criamos um método em alguma linguagem de programação o mesmo pode não estar apto para resolver ou detectar alguma falha que venha a acontecer.  As exceções são lançadas para sinalizar alguma falha que tenha ocorrido. Tal lançamento causa uma interrupção abrupta na execução do sistema.

4  A maior parte das linguagens de programação(principalmente as Orientadas a Objetos) tem suporte para a utilização de exceções. O Java, PHP, por exemplo são bons exemplos de linguagens com suporte ao tratamento de Exceções.

5  Também podemos lançar exceções ou criar as nossas próprias exceções. O Java por exemplo nos dá suporte para:  Representar uma exceção*  Uma forma para lançar a exceção (throw/throws)  Uma forma para tratar a exceção (try-catch-finally) *No caso do Java as exceções são representadas por classes.

6  Exceções verificadas  subclasse de Exception  utilizadas para falhas iniciais  onde a recuperação talvez seja possível

7  Exceções não-verificadas  subclasse de RuntimeException  utilizadas para falhas não-antecipadas  onde a recuperação não é possível

8  A classe Throwable é o "vô" de todas as classes que representam um erro ou uma exceção.  A partir dele podemos utilizar os principais métodos para saber o que aconteceu de erro, problema, etc.  A imagem a seguir ilustra qual é a hierarquia básica das Exceções na linguagem Java em especial.

9  Hierarquia de Exceções

10  Principais métodos  No Java são três os principais métodos que relatam a exceção ocorrida, são eles:  void printStackTrace(): Lista a seqüência de métodos chamados até o ponto onde aj exceção foi lançada.  String getMjessage() - Retorna uma mensagem que indica o que ocorreu na exceção.  toString() - Esse método retorna uma breve descrição da exceção que ocorreu.

11  Podemos lançar exceções a partir dos métodos. Para lançar uma exceção a partir de um método deve ser utilizada a cláusula throws, conforme Figura:

12  Exemplo de lançamento de exceção através da cláusula throws

13  Clientes que capturam uma exceção devem proteger a chamada com um bloco try. Qualquer número de instruções pode ser incluído em um bloco try. A cláusula catch tentará capturar exceções geradas por qualquer instrução dentro do try precedente.

14  Exemplo de blocos tratadores básico

15  Podemos também utilizar na maioria das linguagens 2 ou mais blocos de "catch", conseguindo assim tratar 2 ou mais exceções a partir de um único "try". A figura a seguir mostra como ficaria um "try" com dois tratamentos de exceções especializados e o terceiro é um tratamento de exceção genérico para qualquer tipo de exceção que não se enquadre nos 2 catchs iniciais.

16  Quando ocorre uma exceção, o java procura um bloco tratador adequado. Os "catch" são checados em sequência, ou seja, o primeiro catch que estiver tratando a exceção que ocorreu é executado. Após a execução do catch, se houver outros catchs os mesmos não são executados, porém o software continua com a sua execução normal após o último bloco tratador.

17  Sempre cuide a ordem ao declarar os "catch's". Nunca podemos colocar um bloco catch tratando Exception antes dos tratamentos de outras Exceptions, isso porque Exception é pai de todas as outras exceções.

18  Exemplo de captura com mais de 1 catch

19  No Java a partir do JDK7 é possível a utilização de multi-catch, ou seja, podemos inserir 2 ou mais exceções em um único catch.

20  Exemplo de blocos tratadores com multi-catch

21  Também podemos colocar dentro de um bloco try outro trycatch, fazendo o tratamento de exceções de forma aninhada. Ao tratar de forma aninhada podemos individualizar e especializar as mensagens de erro, fazendo com que o usuário identifique exatamente o que ele realmente errou.

22  A cláusula finally é opcional, ou seja, você pode criar um bloco tratador try-catch sem finally. Se você optar por colocar a instrução finally ela será sempre executada, mesmo que não ocorra uma exceção dentro do bloco try.

23  Se ocorrer uma exceção no try, e não for capturada por nenhum catch, mesmo assim o finally é executado  Se ocorrer uma exceção e a mesma for capturadda por algum catch, mesmo assim o finally é executado.  Na prática o finally pode e deve ser utilizado para fechar conexões de rede, conexão com o banco de dados, escrita e leitura de arquivos, entre outros.

24  Exemplo de blocos tratadores com finally


Carregar ppt "Prof. Roberto Rosa Aula 8.  A partir de agora vamos aprender como ver qual é o erro que está acontecendo em nosso projeto. Para."

Apresentações semelhantes


Anúncios Google