|
1 | 1 | package br.com.dio.exceptions;
|
2 | 2 |
|
3 | 3 | import javax.swing.*;
|
| 4 | +import java.util.Arrays; |
4 | 5 |
|
5 | 6 | public class ExceptionCustomizada_2 {
|
6 | 7 | public static void main(String[] args){
|
7 | 8 | int[] numerador = {4, 5, 8, 10};
|
8 | 9 | int[] denominador = {2, 4, 0, 2, 8};
|
9 | 10 |
|
| 11 | + |
10 | 12 | for (int i = 0; i < denominador.length; i++) {
|
11 |
| - try { |
12 |
| - if(numerador[i] %2 != 0) |
13 |
| - throw new DivisaoNaoExataException("Divisão não exata!", numerador[i], denominador[i]); |
| 13 | + try{ |
| 14 | + if(denominador[i] == 0) |
| 15 | + throw new DivisaoPorZeroException("Divisao por Zero",denominador[i]); |
| 16 | + try { |
| 17 | + if (numerador[i] % denominador[i] != 0) |
| 18 | + throw new DivisaoNaoExataException("Divisão não exata!", numerador[i], denominador[i]); |
| 19 | + }catch(ArrayIndexOutOfBoundsException e){ |
| 20 | + throw new TamanhoDoArrayInvalidoException("Tamanho do Array Invalido", i); |
| 21 | + } |
14 | 22 |
|
15 | 23 | int resultado = numerador[i] / denominador[i];
|
16 | 24 | System.out.println(resultado);
|
17 |
| - } catch (DivisaoNaoExataException | ArithmeticException | ArrayIndexOutOfBoundsException e) { |
18 |
| - e.printStackTrace(); |
| 25 | + |
| 26 | + |
| 27 | + } catch (DivisaoNaoExataException | DivisaoPorZeroException | TamanhoDoArrayInvalidoException e) { |
| 28 | + // e.printStackTrace(); |
19 | 29 | JOptionPane.showMessageDialog(null, e.getMessage());
|
20 | 30 | }
|
| 31 | + |
| 32 | + |
| 33 | + |
21 | 34 | }
|
22 | 35 |
|
| 36 | + |
23 | 37 | System.out.println("O programa continua...");
|
24 | 38 | }
|
25 | 39 | }
|
|
0 commit comments