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

Apresenta erro quando add o throws ValorInvalidoException

Olá, quando adicionei o throws ValorInvalidoException a IDE acusou o seguinte erro:

"deposita(double) in ContaPoupanca cannot override deposita(double) in Conta overridden method does not throw ValorInvalidoException"

    @Override
//IDE acusa um erro na linha abaixo
    public void deposita(double valor) throws ValorInvalidoException{
        if (valor < 0) {
            throw new ValorInvalidoException(valor);
        } else {
            this.saldo += valor - 0.10;        
        }        
    }
4 respostas
solução!

Eduardo, dá uma olhada e vê se seu método deposita(double valor) lança um ValorInvalidoException tanto na classe Conta quanto na ContaPoupanca.

Ao que parece, você não fez o método da classe Conta lançar ValorInvalidoException.

Confirma se ele está assim:

public void deposita(double valor) throws ValorInvalidoException {
// corpo do método
}

Posta o resultado. Abraço.

Oi Manuel, nas classes main que estou chamando o método deposita, a IDE me auxiliou a colocar o throws ValorInvalidoException e corrigiu os erros. Está certo assim?

Eduardo,

O que acontece é que você está fazendo o override de um método da classe base, mas você está alterando a assinatura do método colocando o throws ValorInvalidoException. Para compilar tudo certo você tem que adicionar esse throws ValorInvalidoException no método deposita na classe Conta, que é a classe base, assim como o Manuel já havia lhe falado.

Abraço.

Eu o fiz, valeu Silvio e Manuel.