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

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

Implementei o tratamento de erro na classe Conta no método deposita.

public void deposita(double valor) { if (valor < 0){ throw new IllegalArgumentException(); } else{ this.saldo += valor; } }

A classe ContaCorrente herda o método da Classe Conta e portanto o tratamento de erro é o mesmo. Entretanto a classe Poupanca sobreescreve o método deposita da Classe conta.

A melhor forma de aplicar o tratamento é repetir o código na Classe Poupança ou há alguma solução mais elegante em OO?

1 resposta
solução!

Rodrigo, Boa Tarde!

sim , você pode fazer o mesmo tratamento que método da classe Conta , como também pode invocar através a exception na descrição do método como abaixo :

public void deposita(double valor) throws IllegalArgumentException{

// conteúdo método
}

em um outro capitulo você verá que é possível customizar uma classe de Exception , fazendo com que seja utilizar essa classe como por exemplo :

public void deposita(double valor) throws ValorInvalidoException{

// conteudo método 
}

repare que minha classe de exception se chama ValorInvalidoException .

Espero ter ajudado.Bons estudos .