Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouIsaque Brezinski de Figueiredo Alterado mais de 9 anos atrás
1
Programação e Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -
2
Programação II – Prof. Mateus Raeder Exceções –Exceções ocorrem quando alguma condição excepcional acontece no decorrer da execução Interrompendo a execução do programa –Tratar as exceções significa gerenciar estes erros –Quando ocorre alguma situação adversa, um objeto do tipo Exception é lançado
3
Programação II – Prof. Mateus Raeder Exceções Exemplo: –E se y = 0? public class Calculadora{ private double resultado; public double dividir (int x, int y){ resultado = x/y; return resultado; }
4
Programação II – Prof. Mateus Raeder Exceções Exemplo: public class Calculadora{ private double resultado; public double dividir (int x, int y){ try{ resultado = x/y; }catch(ArithmeticException e){ System.out.println("ERRO: divisão por 0"); } System.out.println("Linha após a exceção"); return resultado; }
5
Programação II – Prof. Mateus Raeder Exceções Mais de uma exceção: public class Calculadora{ private double resultado; public double dividir (int x, int y){ try{ resultado = x/y; }catch(ArithmeticException e){ System.out.println("ERRO: divisão por 0"); e.printStackTrace(); }catch(Exception e){ System.out.println("ERRO!"); e.printStackTrace(); } System.out.println("Linha após a exceção"); return resultado; }
6
Programação II – Prof. Mateus Raeder Exceções Mais de uma exceção: public class Array { public void inicializaArray(int a, int b){ try{ int[] array = new int[10]; array[2] = a/b; array[23] = 7; }catch(ArithmeticException ae){ System.out.println("ERRO ARITMÉTICO: "+ae); }catch(ArrayIndexOutOfBoundsException oe){ System.out.println("ÍNDICE INVÁLIDO: "+oe); }
7
Programação II – Prof. Mateus Raeder Exceções Mais de uma exceção: public class Array { public void inicializaArray(int a, int b){ try{ int[] array = new int[10]; array[2] = a/b; array[23] = 7; }catch(ArithmeticException ae){ System.out.println("ERRO ARITMÉTICO: "+ae); }catch(ArrayIndexOutOfBoundsException oe){ System.out.println("ÍNDICE INVÁLIDO: "+oe); }finally{ System.out.println(“Trecho executado sempre"); }
8
Programação II – Prof. Mateus Raeder Exceções Mais um exemplo: import java.util.Scanner; public class TesteExcecao { public static void main(String args[]){ try{ Scanner s = new Scanner(System.in); int teste = Integer.parseInt(s.next()); System.out.println(teste); }catch(Exception e){ e.printStackTrace(); }
9
Programação II – Prof. Mateus Raeder Exceções Criando exceções próprias: public class MinhaExcecao extends Exception { private String mensagem; public MinhaExcecao(String mensagem){ this.mensagem = mensagem; } public String toString() { return "MinhaExcecao [" + mensagem + "]"; }
10
Programação II – Prof. Mateus Raeder Exceções Criando exceções próprias: import java.util.Scanner; public class TesteExcecao { public static void main(String args[]){ try{ Scanner s = new Scanner(System.in); System.out.print("Digite o tamanho do array: "); int[] meuArray = new int[s.nextInt()]; System.out.print("Digite a posição do array que deseja acessar: "); int posicao = s.nextInt(); System.out.print("Digite o valor que deseja inserir: "); int valor = s.nextInt(); meuArray[posicao] = valor; if(valor >= 1000){ MinhaExcecao me = new MinhaExcecao("Valor inválido"); throw me; } System.out.println("Valor da posição: "+meuArray[posicao]); }catch(MinhaExcecao me){ System.out.println(me.toString()); }catch(ArrayIndexOutOfBoundsException oe){ oe.printStackTrace(); } System.out.println("Esta linha é impressa sempre?"); }
11
Programação II – Prof. Mateus Raeder Exceções Criando exceções próprias: –Método que lança exceção: public class ExcecaoMetodo { public int meuMetodoComExcecao(int a) throws MinhaExcecao{ if(a % 2 == 0) throw new MinhaExcecao("Número é par!"); return a; }
12
Programação II – Prof. Mateus Raeder Exceções Criando exceções próprias: import java.util.InputMismatchException; import java.util.Scanner; public class MainExcecaoMetodo { public static void main(String args[]){ boolean correto = false; ExcecaoMetodo em = new ExcecaoMetodo(); try{ Scanner s = new Scanner(System.in); System.out.print("Digite um número ímpar: "); em.meuMetodoComExcecao(s.nextInt()); correto = true; }catch(MinhaExcecao me){ System.out.println(me.toString()); }catch(InputMismatchException ie){ ie.printStackTrace(); } if(!correto) System.out.println("Não deu certo... =("); else System.out.println("Certo... =D"); }
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.