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

Exceções e controle de erros

Um bom dia!

Gostaria que me indicassem o que fiz de errado no código. Ele não retorna a mensagem de erro do "throw new IllegalArgumentException ();". Apenas cai no Debug.

package javaII_06_8_Exercicio7;

public class Principal {

    public static void main(String[] args) {

        ContaCorrente cc = new ContaCorrente();
        ContaPoupanca cp = new ContaPoupanca();

        cc.deposita(-100);
        cp.deposita(-100);

        System.out.println("O saldo é: " + cc.getSaldo());
    }

}
package javaII_06_8_Exercicio7;

public abstract class Conta {

    protected double saldo;
    protected double taxa;

    public void saca(double valor) {
        this.saldo -= valor;
    }

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

    public abstract void atualiza(double taxaSelic);

    public double getSaldo() {
        return saldo;
    }

    public void setSaldo(double saldo) {
        this.saldo = saldo;
    }

    public double getTaxa() {
        return taxa;
    }

    public void setTaxa(double taxa) {
        this.taxa = taxa;
    }

}
package javaII_06_8_Exercicio7;

public class ContaCorrente extends Conta implements Tributavel {

    @Override
    public void atualiza(double taxaSelic) {
        this.saldo += this.saldo * taxaSelic * 0.2;
    }

    @Override
    public double calculaTributos() {
        return this.getSaldo() * 0.01;
    }

}

Grato.

3 respostas

Fiz as seguintes mudanças no código:

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

public class Principal {

    public static void main(String[] args) {

        ContaCorrente cc = new ContaCorrente();
        ContaPoupanca cp = new ContaPoupanca();

        try {
            cc.deposita(-100);
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("O saldo é: " + cc.getSaldo());
    }

}
solução!

Oi Maicon, o que ele retorna no debug?

O código parece ok pra mim.

Agradeço a sua atenção, André! O erro desapareceu quando fechei e abri novamente o Eclipse.