Classe ContaCorrente:
public bool Sacar(double valor)
{
if (valor <= saldo)
{
saldo -= valor;
return true;
}
else
{
throw new SaldoInsuficienteException("Saldo insuficiente para a operação. \r\n Valor saque : " + valor+ " reais.\r\n Valor saldo : " + saldo+" reais.");
}
}
Classe Program no try catch:
try
{
ContaCorrente conta1 = new ContaCorrente(278, "1234-X");
conta1.Sacar(50);
Console.WriteLine(conta1.GetSaldo());
conta1.Sacar(150);
Console.WriteLine(conta1.GetSaldo());
}
catch(ArgumentException ex)
{
Console.WriteLine("Parâmetro com erro" + ex.ParamName);
Console.WriteLine("Não é possível criar uma conta com o numero de agência menor ou igual a zero");
Console.WriteLine(ex.Message);
}
catch (SaldoInsuficienteException ex)
{
Console.WriteLine("Operação negada!");
Console.WriteLine(ex.Message);
}