Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não estou conseguindo tratar um erro no meu metodo

Boa noite, Eu criei 3 classes, uma para minha exceção personalizada, uma com 2 metodos e outra é a main, eu tratei como foi ensinado durante a aula, porem no momento de compilar não mostra a string que eu coloquei na minha exceção, eu nao sei o que esta de errado.

public class MinhaExcecao extends Exception{

    public MinhaExcecao(String msg) {
        super(msg);
    }
}
public class Metodo {
    public void metodo1() throws MinhaExcecao  {
        System.out.println("ini do metodo1");
            metodo2();

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

    public void metodo2() throws MinhaExcecao {
        System.out.println("ini do metodo2");
        for(int i = 1; i<= 5; i++) {
            System.out.println(i);
            int a = i/0;

            throw new MinhaExcecao("Deu erro");
        }
    }
}
public class FluxoComTratamento {

    public static void main(String[] args) throws MinhaExcecao {
        System.out.println("Ini do main");        
        Metodo metodo = new Metodo();

        try{
            metodo.metodo1();
        }catch(MinhaExcecao e) {
            System.out.println("Exception "+ e.getMessage());
        }
    }
}
1 resposta
solução!

Você precisa incluir o cálculo de dentro do try catch.

public void metodo2() throws MinhaExcecao {
        System.out.println("ini do metodo2");
        for(int i = 1; i <= 5; i++) {
            System.out.println(i);
            try {
                int a = i/0;    
            } catch (Exception e) {
                throw new MinhaExcecao("Deu erro para calcular o valor de a");
            }
        }
    }