Tratamento de erro

2 respostas
C

Oi pessoal
estou tentando implementar um método sacar de uma classe ContaCorrente,
devo lançar uma exceção se o valor sacado exceder o limite

Não sei como utilizar o try catch nesse caso,

alguém dá um help:

2 Respostas

M

você pode implementar na sua classe conta o metodo saque, considerando o saldo e o valor do saque, se por exemplo, o saque for menor ou igual ao saldo, ele realiza o saque, se saque for maior que saldo, ele acusa saldo insuficiente.
tenta desta forma. obs: o try catch , acredito eu, não se aplicaria neste caso.

/**
     * @param valor
     *            Valor a ser sacado da conta
     */
    public void saque(double valor) {
        System.out.println("Solicitação de saque no valor de R$ " + valor + " da conta " + numero);
        if (valor > 0) {
            if (saldo >= valor) {
                saldo -= valor;
            } else
                System.out.println("Saldo insuficiente");
        } else {
            System.out.println("O valor de saque deve ser positivo");
        }
    }
ViniGodoy

Com exceções fica assim:

/**
     * @param valor
     *            Valor a ser sacado da conta
     * @throws SaldoInsuficienteException
     *            Se a grana é pouca
     */
public void saque(double valor) throws SaldoInsuficienteException {   
   if (valor < 0) 
      throw new IllegalArgumentException("Informe um valor positivo");
    
   if (saldo < valor) 
      throw new SaldoInsuficienteException("O saldo é de apenas " + saldo + ".");

    saldo -= valor;
}

public class SaldoInsuficienteException extends Exception {
    public SaldoInsuficienteException(String message) {
        super(message);
    }
}
E como usa?
ContaCorrente c = new ContaCorrente();
try {
   c.sacar(1000);
} catch (SaldoInsuficienteException e) {
    System.out.println("Saldo insuficiente");
    e.printStackTrace();
}
Criado 25 de agosto de 2011
Ultima resposta 25 de ago. de 2011
Respostas 2
Participantes 3