1. Java B sicoáJava B sicoá
Exce esçõExce esçõ
Prof. Wesley R. Bezerra
2. Roteiro
• O que são exceções?
• Como tratá-las?
• Como criar uma exceção?
• Exercício
• Conclusão
3. Objetivos
• Obter uma visão geral
sobre o mecanismo de
tratamento de exceções
do Java
4. O que s o exce es?ã çõ
• São comportamentos inesperados que o programa
assume, por exemplo, quando tentamos dividir um
numero por zero, ou ainda, quando tentamos
transformar a palavra “abacate” para um inteiro, o
compilador encontra uma situação que ele não
esperava, uma situação anormal, uma exceção no
fluxo do sistema.
5. Como trat -las?á
• Para tratar-mos exceções devemos fazer uso do
bloco try-catch.
• Este bloco ficará encarregado de, caso ocorra uma
exceção, captura-la para que a mesma possa ser
tratada.
6. • Por exemplo, quando tentarmos dividir um numero
por zero, em vez de o programa lançar uma exceção,
podemos o programar para informar ao usuário: “não
pode dividir uma numero por zero!”
7. Exemplo de captura
try{
//codigo que vai gerar a execao
System.out.println("valor: "+(1/0));
}catch(Exception e){
//codigo que executa se existir excecao
System.out.println("nao tente dividir por zero");
e.printStackTrace();
}finally{
//codigo que sempre executa
System.out.println("estre trecho sempre executa");
}
8. Como criar uma
exce o?çã
• Em java também podemos criar nossas exceções
para controlar o fluxo do sistema.
• Por exemplo:
Se uma pessoa com menos de 18 anos tenta alugar fita
adulta, podemos fazer o programa lançar uma exceção para que
isso seja tratado da maneira adequada;
9. Exemplo lan ar exce oç çã
int idade =0;
try {
throw new Exception ("Idade inferior a 18 anos");
} catch (Exception ex) {
ex.printStackTrace();
}
10. • Também podemos declarar um método indicando
que ele poderá lançar exceções.
• Exemplo:
public void alugarFita() throws Exception{
…
}
11. Exerc cioí
• Implementar uma calculadora em console com os
métodos:
Somar,
Subtrair,
Multiplicar,
Dividir,
Elevar ao quadrado e
Raiz quadrada;
12. Conclus oã
• As exceções e o seu tratamento, nos fornecem uma
maneira mais segura de controlar o fluxo de nosso
programa, evitando o excesso de estruturas
condicionais, o deixando assim com melhor
desempenho, e também nos permite fazer um
código mais robusto (a prova de erros de execução)