diff --git a/.idea/misc.xml b/.idea/misc.xml index dc47333..89e42c1 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,12 +1,9 @@ - - - - + \ No newline at end of file diff --git a/src/br/com/dio/exceptions/DivisaoPorZeroException.java b/src/br/com/dio/exceptions/DivisaoPorZeroException.java new file mode 100644 index 0000000..8ac3d52 --- /dev/null +++ b/src/br/com/dio/exceptions/DivisaoPorZeroException.java @@ -0,0 +1,12 @@ +package br.com.dio.exceptions; + +public class DivisaoPorZeroException extends Exception { + + private int denominador; + + public DivisaoPorZeroException(String message, int denominador) { + super(message); + this.denominador = denominador; + } + +} diff --git a/src/br/com/dio/exceptions/ExceptionCustomizada_2.java b/src/br/com/dio/exceptions/ExceptionCustomizada_2.java index 3272e60..aa2e574 100644 --- a/src/br/com/dio/exceptions/ExceptionCustomizada_2.java +++ b/src/br/com/dio/exceptions/ExceptionCustomizada_2.java @@ -1,25 +1,39 @@ package br.com.dio.exceptions; import javax.swing.*; +import java.util.Arrays; public class ExceptionCustomizada_2 { public static void main(String[] args){ int[] numerador = {4, 5, 8, 10}; int[] denominador = {2, 4, 0, 2, 8}; + for (int i = 0; i < denominador.length; i++) { - try { - if(numerador[i] %2 != 0) - throw new DivisaoNaoExataException("Divisão não exata!", numerador[i], denominador[i]); + try{ + if(denominador[i] == 0) + throw new DivisaoPorZeroException("Divisao por Zero",denominador[i]); + try { + if (numerador[i] % denominador[i] != 0) + throw new DivisaoNaoExataException("Divisão não exata!", numerador[i], denominador[i]); + }catch(ArrayIndexOutOfBoundsException e){ + throw new TamanhoDoArrayInvalidoException("Tamanho do Array Invalido", i); + } int resultado = numerador[i] / denominador[i]; System.out.println(resultado); - } catch (DivisaoNaoExataException | ArithmeticException | ArrayIndexOutOfBoundsException e) { - e.printStackTrace(); + + + } catch (DivisaoNaoExataException | DivisaoPorZeroException | TamanhoDoArrayInvalidoException e) { + // e.printStackTrace(); JOptionPane.showMessageDialog(null, e.getMessage()); } + + + } + System.out.println("O programa continua..."); } } diff --git a/src/br/com/dio/exceptions/TamanhoDoArrayInvalidoException.java b/src/br/com/dio/exceptions/TamanhoDoArrayInvalidoException.java new file mode 100644 index 0000000..e5580e5 --- /dev/null +++ b/src/br/com/dio/exceptions/TamanhoDoArrayInvalidoException.java @@ -0,0 +1,11 @@ +package br.com.dio.exceptions; + +public class TamanhoDoArrayInvalidoException extends Exception{ + + private int i; + + public TamanhoDoArrayInvalidoException(String message, int i) { + super(message); + this.i = i; + } +}