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

Quando lançar uma Exception em vez de trata-lá.

Boa noite, ainda estou com uma pequena duvida sobre Exception. No código abaixo, montei o método saca para "Lançar" a Exception em vez de capturar a mesma. Mais ainda não ficou claro para mim, porquê eu gostaria de lançar, sendo que é mais fácil (ao meu ver) tratar a mesma dentro do método, e não parar a execução da mesma. Alguém ajuda?

    public void saca (double valor) throws Exception {
        if(this.saldo > 0) {
            if(this.saldo >= valor) {
                this.saldo -= valor;
            }else {
                throw new Exception("Valor superior ao saldo para realizar saque");
            }
        }else {
            throw new Exception("Saldo insuficiente para realizar saques");
        }
    }
1 resposta
solução!

Boa noite Marcos,

A ideia de lançar uma exception é devolver para o chamador o erro encontrado, e que ele deve ser responsável pelo tratamento, ou o chamador pode repassar caso também não saiba resolver o problema.

Nem sempre o seu método ira conseguir (saber como) tratar os problemas, sendo importante repassar para o chamador. Em outros casos fará mais sentido tratar dentro do método.

Espero ter ajudado.