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); }
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); } } }