Programação - Bruno Rodrigues

Propaganda
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.
 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
Cláusulas try / catch / finally
try{
// 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
}
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.
Sem utilizar exceção
Utilizando a Exceção
Podem existir quantas clausulas catch forem
necessárias para o perfeito tratamento da 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.
Exception
 Exception 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.
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.
Principais Exceções
Quando usar exceções
O 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.
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
tipoDeRetorno nomeDoMetodo() throws
TiposDeExcecao1, TipoDeExcecao2, ...
{
//corpo do metodo
}
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
Exemplo
public class TestaException {
public static void main(String[] args) throws
FileNotFoundException {
new java.io.FileInputStream("arquivo.txt");
}
Exceções não Monitoradas
 Nã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
Exemplo
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.
Exemplo
Tratamento Qualificado de
Exceções
 Qualquer 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.
Não Qualificado
Qualificado
Pesquise e estude
 Como 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?
Sites+
 http://www.hwn.com.br/pej/ -> Livro Think in Java
 http://javafree.uol.com.br/index.jf
 http://www.guj.com.br/ ->tem um dos maiores forum
de Java, cadastra-se e debata também
Download