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

Exceções e controle de erros

class TestaContas {
    public static void main(String[] args) {
//      Conta c = new Conta(); //este codigo não funciona porque a classe Conta passou a ser abstrata
        ContaCorrente cc = new ContaCorrente();
        ContaPoupanca cp = new ContaPoupanca();

//      c.deposita(1000); 
        cc.deposita(1000); 
//      cp.deposita(1000);
//
        try {
            cp.deposita(-1000);
        } 
        catch (IllegalArgumentException e) {
            System.out.println("Você tentou depositar um valor inválido");
        }

//        

//      c.atualiza(0.01);
        cc.atualiza(0.01);
        cp.atualiza(0.01);


//      
         try {
             cc.saca(10000);
             System.out.println("Saque Efetudado com sucesso");    
        } //catch (RuntimeException e) {pode ser assim
         catch (SaldoInsuficienteException e) { //ou assim -- usando a classe cariada por nós
             //System.out.println(cc.getSaldo() + " Saldo insufuciente");
              System.out.println(cc.getSaldo() + " Saldo insufuciente");
         }
         catch (Exception e) { //ou assim
            //System.out.println(cc.getSaldo() + " Saldo insufuciente");
             System.out.println("Ocorreu um erro indeterminado");
        }

//      System.out.println(c.getSaldo());
        System.out.println(cc.getSaldo());
        System.out.println(cp.getSaldo());

        System.out.printf("O saldo é: %.2f", cc.getSaldo());
        System.out.printf("O saldo é: %.2f", cp.getSaldo());
    }
}

O que estou fazendo de errado ?? a mensagem de erro não apareceu.

try { cp.deposita(-1000); } catch (IllegalArgumentException e) { System.out.println("Você tentou depositar um valor inválido"); } import javax.management.RuntimeErrorException;

abstract class Conta {// private double saldo; protected double saldo;

public double getSaldo() { return this.saldo; }

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

public boolean saca(double valor_saque) throws Exception { if (this.saldo < valor_saque) { //return false; throw new SaldoInsuficienteException(saldo); } else { this.saldo = this.saldo - valor_saque; return true; } };

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

//public void atualiza(double taxa) { // this.saldo += (this.saldo * taxa); // }; abstract public void atualiza(double taxa);};

1 resposta
solução!

Luiz você abriu 2 tópicos iguais, fecha 1 e deixa só um aberto pode ser? abraço.