A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação e Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -

Apresentações semelhantes


Apresentação em tema: "Programação e Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -"— Transcrição da apresentação:

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"); }


Carregar ppt "Programação e Laboratório II Prof. Mateus Raeder Universidade do Vale do Rio dos Sinos - São Leopoldo -"

Apresentações semelhantes


Anúncios Google