bruno rafael de oliveira rodrigues. tratadores de excessões a exceção é uma indicação de que...
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/1.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/2.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/3.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/4.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/5.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/6.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/7.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/8.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/9.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/10.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/11.jpg)
![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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/12.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/13.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/14.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/15.jpg)
![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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/16.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/17.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/18.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/19.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/20.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/21.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/22.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/23.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/24.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/25.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/26.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/27.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/28.jpg)
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](https://reader037.vdocuments.pub/reader037/viewer/2022103016/552fc12e497959413d8d2fdc/html5/thumbnails/29.jpg)
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