Top Banner
LOGO TRATAMENTO DE EXCEÇÕES
16

Tratamento de exceções java

Jun 06, 2015

Download

Education

Como tratar exceções em Java.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tratamento de exceções   java

LOGO

TRATAMENTO DE EXCEÇÕES

Page 2: Tratamento de exceções   java

TRATAMENTO DE EXCEÇÕES

EQUIPE:

•Raul Vasconcelos•Antonio Bessone•Lawson Cintra

Page 3: Tratamento de exceções   java

O que Tratamento de Exceção permite?

•Detecção e tratamento de ERROS que podem ocorrer durante a execução do programa.

•Exemplo:

Programa que captura um número inteiro do teclado para dividir por 1.000.

Page 4: Tratamento de exceções   java

EXEMPLO

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class execeção {

public static void main(String[] arg) throws IOException {BufferedReader teclado = new BufferedReader(new

InputStreamReader(System.in));System.out.print("Digite um numero: ");int num = Integer.parseInt(teclado.readLine());int invm = 1000 / num;

System.out.println("1000/" + num + " = " + invm);System.out.println("fim de programa");

 }}

Page 5: Tratamento de exceções   java

O que ocorre quando digitamos “0”?

Page 6: Tratamento de exceções   java

Como os erros são caracterizados (indicados)?

•Os erros são identificados por objeto de classes específicas durante a execução dos programas.

•Existem dois tipos de classes, a classe Error (Erros Estruturais, como mau funcionamento da máquina virtual) e a classe Exception (Erros que podem ser tratados dentro do projeto), que servem de superclasses para as demais. Ambas são subclasses da classe Throwable. Veja figura e a tabela abaixo:

Page 7: Tratamento de exceções   java
Page 8: Tratamento de exceções   java
Page 9: Tratamento de exceções   java

Tipos comuns de erros de execução?

Problema Classe que identifica o tipo de erro.

Índice de uma lista (Array) fora do intervalo permitido.

IndexOutOfboundsException

Problemas em operações aritméticas, tais como: Divisões por zero.

ArithmeticException

Uso de referência que são a ponta para nenhum objeto.

IOException

Page 10: Tratamento de exceções   java

Como é feito o tratamento de erros?

Através do comando TRY e suas cláusulas catch e finally.

Combinações válidas:

Combinações válidas:

try{} catch{}

try{} finally{}

try{} catch{} finally{}

Page 11: Tratamento de exceções   java

Combinações Inválidas (não compila)

try{} — –

catch{} finally{} —

try{} finally{} catch{}

Page 12: Tratamento de exceções   java

TRATAMENTO DE EXCEÇÕES

•Devemos inserir dentro do bloco do TRY as instruções que queremos monitorar para evitar as execeções.

•TRY - CATCHExemplo:Programa que captura um número inteiro do teclado para dividir por 1.000.

Page 13: Tratamento de exceções   java

TRATAMENTO DE EXCEÇÕES

import java.io.*;public class C16Exemplo6 {

public static void main(String[] arg) throws IOException {BufferedReader teclado = new BufferedReader(new

InputStreamReader(System.in));System.out.print("Digite um numero: ");try {

int num = Integer.parseInt(teclado.readLine());int invm = 1000 / num;System.out.println("1000/" + num + " = " + invm);

} catch (ArithmeticException e) {System.out.println("nada a calcular");

} catch (NumberFormatException e) {System.out.println("foi digitado um valor não inteiro");

}System.out.println("fim de programa");

}}

Page 14: Tratamento de exceções   java

TRY – FINALLY

•O comando try pode ter apenas uma cláusula-finally, e se houver deve ser a sua última cláusula.

•Ela só faz diferença nas situações em que o processamento é interrompido pela ocorrência de erros não-tratados por nenhuma cláusula-catch.

•Exemplo: Programa que divide dois números digitados pelo usuário.

Page 15: Tratamento de exceções   java

TRY – FINALLY

import java.io.*;public class C16Exemplo11 {

public static void main(String[] args) {int num = 0, den = 0;BufferedReader teclado = new BufferedReader(new

InputStreamReader(System.in));System.out.println("Digite dois números seguidos da tecla ENTER:");try {

num = Integer.parseInt (teclado.readLine());den = Integer.parseInt(teclado.readLine());System.out.println (num+"/"+den+" = "+ (num/den));

}catch (NumberFormatException e){

System.out.println ("Erro de formato.");}catch (IOException e) {

System.out.println ("Erro de E/S."); }finally {

System.out.println("Saindo do Bloco \"Try\".");}

System.out.println("Fim do programa");}

}

Page 16: Tratamento de exceções   java

REFERENCIAS

Pinheiro, Francisco A . C. - Fundamentos da computação e orientação a objetos usando Java - Rio de Janeiro: LTC 2006.

http://blog.camilolopes.com.br/tratamento-de-excecoes-em-java/

http://www.if.ufrgs.br/~betz/jaulas/aula8o.htm