Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida no Ex. 8 da Aula 6 - Exceções e controle de erros

Eu nao poderia tratar disso diretamente no metodo?

    public void deposita (double valor)throws IllegalArgumentException {

        try {

            if (valor > 0){

                this.saldo += valor ;

                }

            else {

                throw new IllegalArgumentException();

            }

        }catch (IllegalArgumentException e){

            System.out.println("Erro: " + e);

        }


    }
2 respostas
solução!

Oi Jose,

sintaticamente o seu código está correto, mas a ideia das exceções é justamente propagar/comunicar um problema "para fora", para outros objetivos e classes envolvidas.

Imagina que a sua classe conta está sendo utilizado por uma interface gráfica. Essa interface, que são nada mais de classes e objetos, precisa saber se o deposito funcionou ou não. Ai adianta dar um System.out.println() sobre o problema na classe Conta?

Nesse caso você precisa devolver algo para a interface e a exceção é forma de retornar um problema, ok?

abs

Tirou minha dúvida também!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software