public void Transferir(double valor, ContaCorrente contaDestino)
        {
            if (valor < 0)
            {
                throw new ArgumentException("Valor inválido para a transferência. " + "valor");
            }

            try {
                Sacar(valor);
            }
            catch (SaldoInsuficienteException e) {
                ContadorTransferenciasNaoPermitidas++;
                //throw ; //mostra todas as informações na pilha de erros
                throw new OperacaoFinanceiraException("Operação não realizada", e); // Opção nº 3 do construtor, mensagem e encaspular dados.
            }
            contaDestino.Depositar(valor);
        }
Esempio n. 2
0
 public void Transferir(double valor, ContaCorrente contaDestino)
 {
     if (valor < 0)
     {
         throw new ArgumentException("Valor invalido para o saque.", nameof(valor));
     }
     else
     {
         try
         {
             Sacar(valor);
             contaDestino.Depositar(valor);
         }
         catch (SaldoInsuficienteException e)
         {
             ContadorTranferenciasNaoPermitidas++;
             throw new OperacaoFinanceiraException("Operação não realizada.", e);
         }
     }
 }