bruno rafael de oliveira rodrigues. tratadores de excessões a exceção é uma indicação de que...

29
Programação Bruno Rafael de Oliveira Rodrigues

Upload: internet

Post on 18-Apr-2015

107 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

ProgramaçãoBruno Rafael de Oliveira Rodrigues

Page 2: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Tratadores de ExcessõesA exceção é uma indicação de que um erro ou

problema aconteceu durante a execução de uma aplicação.

Page 3: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Essas exceções são aplicadas a trechos de código que apresentam um grau maior de possibilidade de que um erro possa vir a acontecer.

Page 4: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Ao invés de um determinado programa ser finalizado, devido a uma falha, e possível realizar o tratamento de tais exceções, buscando manter a execução perfeita do programa, sem prejuízo algum ao usuário

Page 5: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Cláusulas try / catch / finallytry{

// escreva as instruções passíveis de gerar uma exceção neste bloco

} catch (<tippdaexceção> <nomdavariavel>){

// escreva a ação que o seu programa fará caso ocorra uma exceção de um determinado

} finally {

// escreva a ação que o seu programa executará caso ocorra ou não um erro ou exceção

}

Page 6: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exceções geradas durante a execução do bloco try podem ser detectadas e tratadas num bloco catch. O código no bloco finally é sempre executado, ocorrendo ou não a exceção.

Page 7: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Sem utilizar exceção

Page 8: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Utilizando a Exceção

Page 9: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Podem existir quantas clausulas catch forem necessárias para o perfeito tratamento da aplicação.

Page 10: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Podem ocorrer situações em que e desejável que sejam realizadas tarefas, mesmo após alguma falha, ou mesmo com o perfeito funcionamento da aplicação. Nesses casos, entra em cena a declaração da clausula finally em que pode ser definido o bloco que ira ser executado.

Page 11: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação
Page 12: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

ExceptionException possui por sua vez dezenas de

subclasses pré-definidas na Plataforma Java, mas uma delas é especial: RuntimeException. Esta exceção indica erros em tempo de execução, resultantes de erros de configuração ou de dados inválidos sendo processados pela aplicação.

Page 13: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

ClassCastException

ClassCastException (erro na conversão forçada de tipo) ArithmeticException (cálculos inválidos, como dividor por zero) NullPointerException, IllegalArgumentException, IndexOutOfBoundsException e SecurityException são exemplos de subclasses de RuntimeException.

Page 14: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Principais Exceções

Page 15: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação
Page 16: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Quando usar exceçõesO tratamento de exceções deve ser utilizado nas seguintes situações:

• processar situações excepcionais nas quais um método seja incapaz de terminar sua função por razoes que fogem a seu controle;

• processar exceções de componentes que não estão projetados para realizar tais tarefas diretamente;

• em projetos de grande porte, para tratar exceções de maneira uniforme em todo o projeto.

Page 17: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

ThrowsÉ a responsável por tratar os possíveis erros que

venham a acontecer, porem a clausula throws lista as possíveis exceções que podem ser disparadas

Page 18: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

tipoDeRetorno nomeDoMetodo() throws TiposDeExcecao1, TipoDeExcecao2, ...

{

//corpo do metodo

}

Page 19: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Sempre definida para um método completo de uma classe, logo a qualquer momento dentro desse método pode ocorrer uma exceção é então as classes definidas serão executadas

Page 20: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exemplopublic class TestaException {

public static void main(String[] args) throws FileNotFoundException {

new java.io.FileInputStream("arquivo.txt");

}

Page 21: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exceções não MonitoradasNão exigem tratamento com o uso de diretivas

try/catch/finnaly, permitindo seu envio implícito para o contexto superior.

Todas as exceções não monitoradas são subclasses de java.lang.RuntimeException

Page 22: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exemplo

Page 23: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exceções MonitoradasÉ exigido tratamento obrigatório com try/catch/finally

ou a declaração explícita de seu lançamento para contexto superior por meio da cláusula thows.

Page 24: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Exemplo

Page 25: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Tratamento Qualificado de ExceçõesQualquer exceção pode ser tratada de modo

genérico por meio de um bloco try/catch que apanhe a classe de exceção Exption.

Mas o controle de exceções pode ser mais sofisticado com o encadeamento de múltiplos blocos catch.

Page 26: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Não Qualificado

Page 27: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Qualificado

Page 28: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Pesquise e estudeComo fazer exceções com herança?Qual a diferença entre throw e throws?O que é um stack trace e um printStackTrace?O que fazem as classes Throwable, Exception e

Error?

Page 29: Bruno Rafael de Oliveira Rodrigues. Tratadores de Excessões A exceção é uma indicação de que um erro ou problema aconteceu durante a execução de uma aplicação

Sites+http://www.hwn.com.br/pej/ -> Livro Think in Javahttp://javafree.uol.com.br/index.jfhttp://www.guj.com.br/ ->tem um dos maiores forum

de Java, cadastra-se e debata também