1
resposta

Duvida IllegalArgumentException - Java Exceções atividade aula 6 topico 8

a atividade pede para inserir a exceção IllegalArgumentException

public abstract class Conta {
    protected double saldo;
    private int agencia;
    private int numero;
    private Cliente titular;
    private static int total;
    // construtor


    public Conta(int agencia, int numero) {

        if(agencia < 1) {
                throw new IllegalArgumentException("Agencia inválida");
            }

            if(numero < 1) {
                throw new IllegalArgumentException("Numero da conta inválido");
            }

        Conta.total++;
        // System.out.println("O total de contas é " + Conta.total);
        this.agencia = agencia;
        this.numero = numero;
        // System.out.println("estou criando uma conta " + this.numero);
    }

    public abstract void deposita(double valor);

    {

    }

    public void saca(double valor) throws SaldoInsuficienteException{
        if (this.saldo < valor) {
            throw new SaldoInsuficienteException("Saldo: " + this.saldo + ", Valor: " + valor);
        } 

    this.saldo -= valor;
}

    // exemplo de poliformismo "Conta destino"
    public void transfere(double valor, Conta destino) throws SaldoInsuficienteException{
        this.saca(valor);
        destino.deposita(valor);

    }

    public double getSaldo() {
        return this.saldo;

    }

    public int getNumero() {
        return this.numero;
    }

    public void setNumero(int numero) {
        if (numero <= 0) {
            System.out.println("não pode valor <= 0 ");
            return;
        }
        this.numero = numero;
    }

    public int getAgencia() {
        return this.agencia;

    }

    public void setAgencia(int agencia) {
        if (agencia <= 0) {
            System.out.println("não pode valor menor igual a 0");
            return;
        }
        this.agencia = agencia;
    }

    public Cliente getTitular() {
        return titular;

    }

    public void setTitular(Cliente titular) {
        this.titular = titular;

    }

    public static int getTotal() {
        return Conta.total;
    }

}

so que na hora de executa minha classe TesteContas inserindo uma conta negativa para verificar se entra na exceção não é exibida a mensagem sei que esta faltando alguma coisa.

public class TesteContas {

    public static void main(String[] args) throws SaldoInsuficienteException{



        ContaCorrente cc =  new ContaCorrente(-111, 111);
        cc.deposita(100.0);

        ContaPoupanca cp = new ContaPoupanca(22, 222);
        cp.deposita(200.0);

        cc.transfere(10.0, cp);

        System.out.println("CC: " + cc.getSaldo());
        System.out.println("CP: " + cp.getSaldo());


    }

}

se alguem puder me ajudar agradeço.

1 resposta

Sua classe ContaCorrente está invocando o construtor da classe Conta, através do super?