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:
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:
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");
}
}
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);
}
}
ContaCorrente c = new ContaCorrente();
try {
c.sacar(1000);
} catch (SaldoInsuficienteException e) {
System.out.println("Saldo insuficiente");
e.printStackTrace();
}