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.