private static void TestaInner() { try { ContaCorrente conta = new ContaCorrente(50, 564654); ContaCorrente conta2 = new ContaCorrente(458, 457715); conta2.Transferir(10000, conta); conta.Depositar(100); Console.WriteLine(conta.Saldo); conta.Sacar(500); } catch (ArgumentException ex) { if (ex.ParamName == "numero") { } Console.WriteLine("Argumento com problema: " + ex.ParamName); Console.WriteLine("Ocorreu um erro do tipo ArgumentException"); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } catch (SaldoInsuficienteException ex) { Console.WriteLine(ex.Message); Console.WriteLine("Exceção do tipo saldo insuficiente exception"); } catch (OperacaoFinanceiraException ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } Metodo(); //ContaCorrente conta = new ContaCorrente(546, 754874); //Console.WriteLine(ContaCorrente.TaxaOperacao); }
private static void OperacaoFinanceira() { try { ContaCorrente conta = new ContaCorrente(45545, 5050); ContaCorrente conta2 = new ContaCorrente(45545, 5050); //conta.Sacar(10000); conta2.Transferir(1000, conta); } catch (OperacaoFinanceiraException e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Console.WriteLine("Informações da INNER EXCEPTION (exceção interna):"); //Console.WriteLine(e.InnerException.Message); //Console.WriteLine(e.InnerException.StackTrace); } }
private static void TestaInnerException() { try { ContaCorrente conta = new ContaCorrente(456, 456987); ContaCorrente conta2 = new ContaCorrente(123, 123987); conta.Transferir(10000, conta2); conta.Depositar(50); Console.WriteLine("Saldo: R$" + conta.Saldo); conta.Sacar(500); Console.WriteLine("Saldo após saque: R$" + conta.Saldo); } catch (OperacaoFinanceiraException e) { Console.WriteLine("Erro: " + e.Message); Console.WriteLine("\n**********" + "\nTrace: \n" + e.StackTrace); Console.WriteLine("\n*********** INNER EXCEPTION **********"); Console.WriteLine("Erro: " + e.InnerException.Message); Console.WriteLine("\n**********" + "\nTrace: \n" + e.InnerException.StackTrace); } catch (Exception e) { Console.WriteLine("Erro: " + e.Message); Console.WriteLine("\n**********" + "\nTrace: \n" + e.StackTrace); Console.WriteLine("\n*********** INNER EXCEPTION **********"); Console.WriteLine("Erro: " + e.InnerException.Message); Console.WriteLine("\n**********" + "\nTrace: \n" + e.InnerException.StackTrace); } }
private static void TestaInnerException() { try { ContaCorrente conta = new ContaCorrente(432, 1123); conta.Depositar(50); Console.WriteLine(conta.Saldo); conta.Sacar(50); ContaCorrente conta2 = new ContaCorrente(421, 134); conta2.Transferir(1000, conta); conta.Sacar(10000); } catch (SaldoInsuficienteException e) { Console.WriteLine(e.Saldo); Console.WriteLine(e.ValorSaque); Console.WriteLine(e.StackTrace); Console.WriteLine(e.Message); Console.WriteLine(" catch (SaldoInsuficienteException )"); } catch (ArgumentException e) { if (e.ParamName == "agencia") { Console.WriteLine("Testando ParamName nas exceções"); } Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException"); Console.WriteLine(e.Message); } catch (OperaçãoFinanceiraException e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); // Console.WriteLine("\nInformações do Inner Exception: \n"); // Console.WriteLine(e.InnerException.Message); // Console.WriteLine(e.InnerException.StackTrace); } try { Metodo(); } catch (DivideByZeroException e) { Console.WriteLine(e.StackTrace); Console.WriteLine("Aconteceu um erro - Impossivel efetuar divisão por ZERO!"); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); } Console.ReadLine(); }
public static void AulaInnerException() { try { ContaCorrente conta2 = new ContaCorrente(10, 20); ContaCorrente contacorrente = new ContaCorrente(100, 10); contacorrente.Depositar(500); contacorrente.Sacar(50); conta2.Transferir(10000, contacorrente); Console.WriteLine(contacorrente.Saldo); } catch (SaldoInsuficienteException ex) { Console.WriteLine(ex.Message); Console.WriteLine("Exceção do tipo SaldoInsuficienteExcepetion!"); Console.WriteLine(ex.StackTrace); Console.WriteLine(); Console.WriteLine("Informações da InnerException"); Console.WriteLine(ex.InnerException.Message); Console.WriteLine(ex.InnerException.StackTrace); } catch (ArgumentException ex) { Console.WriteLine("Erro no argumento: " + ex.ParamName); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } catch (OperacaoFinanceiraException ex) { Console.WriteLine("-= OperaçãoFinanceiraExcepetion =-"); Console.WriteLine(ex.Message); Console.WriteLine("================================="); Console.WriteLine(ex.StackTrace); Console.WriteLine("================================="); Console.WriteLine("-= Informações da InnerException =-"); Console.WriteLine(ex.InnerException.Message); Console.WriteLine("================================="); Console.WriteLine(ex.InnerException.StackTrace); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); Console.WriteLine(); Console.WriteLine("Informações da InnerException."); Console.WriteLine(ex.InnerException.Message); Console.WriteLine(ex.InnerException.StackTrace); } try { Metodo(); } catch (DivideByZeroException e) { Console.WriteLine(e.Message); Console.WriteLine("Não é possível dividir um número por 0"); } catch (Exception e) { Console.WriteLine(e.Message); Console.WriteLine(e.StackTrace); Console.WriteLine("Exeção tratada!"); } ContaCorrente conta = new ContaCorrente(7480, 874150); try { Console.WriteLine(ContaCorrente.TaxaOperacao); } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } }
static void Main() { Cliente gabriela = new Cliente(); gabriela.Nome = "Gabriela"; gabriela.Profissao = "Desenvolvedora C#"; gabriela.Cpf = "434.562.878-20"; Cliente bruno = new Cliente(); bruno.Nome = "Bruno"; bruno.Profissao = "Desenvolvedor Front-end"; bruno.Cpf = "124.592.844-20"; ContaCorrente contaDaGabriela = new ContaCorrente(863, 15); contaDaGabriela.Titular = gabriela; contaDaGabriela.Saldo = 1000; ContaCorrente contaDoBruno = new ContaCorrente(863, 16); contaDoBruno.Titular = bruno; contaDoBruno.Saldo = 500; Console.WriteLine($@"Conta corrente da Gabriela e valores dos atributos: Titular: {contaDaGabriela.Titular.Nome} Agência: {contaDaGabriela.Agencia} Número: {contaDaGabriela.Numero} Saldo: {contaDaGabriela.Saldo} "); Console.WriteLine("*******************************************************************\n\n"); Console.WriteLine($@"Conta corrente da Gabriela e valores dos atributos: Titular: {contaDoBruno.Titular.Nome} Agência: {contaDoBruno.Agencia} Número: {contaDoBruno.Numero} Saldo: {contaDoBruno.Saldo} "); Console.WriteLine("*******************************************************************\n\n"); double valorSaque = 50; Console.WriteLine("Conta corrente do Bruno com exibição de saldo antes e depois do saque:"); Console.WriteLine("Saldo anterior: " + contaDoBruno.Saldo); bool resultadoSaque = contaDoBruno.Sacar(valorSaque); Console.WriteLine("Resultado do saque: " + resultadoSaque); Console.WriteLine("Saldo posterior: " + contaDoBruno.Saldo + "\n\n"); Console.WriteLine("*******************************************************************\n\n"); double valorDeposito = 250; Console.WriteLine("Conta corrente do Bruno com exibição de saldo antes e depois do depósito:"); Console.WriteLine("Saldo anterior: " + contaDoBruno.Saldo); contaDoBruno.Depositar(valorDeposito); Console.WriteLine("Valor de depósito: " + valorDeposito); Console.WriteLine("Saldo posterior: " + contaDoBruno.Saldo + "\n\n"); Console.WriteLine("*******************************************************************\n\n"); double valorTransferencia = 20; Console.WriteLine("Saldo inicial da conta da Gabriela: " + contaDaGabriela.Saldo); Console.WriteLine("Saldo inicial da conta do Bruno: " + contaDoBruno.Saldo); Console.WriteLine("Valor de transferência: " + valorTransferencia); bool resultadoTransferencia = contaDoBruno.Transferir(valorTransferencia, contaDaGabriela); Console.WriteLine("Resultado transferência: " + resultadoTransferencia); Console.WriteLine("Saldo final da conta da Gabriela: " + contaDaGabriela.Saldo); Console.WriteLine("Saldo final da conta do Bruno: " + contaDoBruno.Saldo); Console.WriteLine("*******************************************************************\n\n"); Console.WriteLine("Total de contas criadas: " + ContaCorrente.TotalDeContasCriadas); Console.ReadLine(); }
public static void Main(string[] args) { int opcao; ContaCorrente primeiraContaCorrente = new ContaCorrente(); ContaCorrente segundaContaCorrente = new ContaCorrente(); primeiraContaCorrente.Titular = new Cliente(); segundaContaCorrente.Titular = new Cliente(); Console.WriteLine("O que deseja fazer?"); Console.WriteLine("1 - Depositar"); Console.WriteLine("2 - Sacar"); Console.WriteLine("3 - Transferir\n"); opcao = int.Parse(Console.ReadLine()); Console.Write("Digite o nome do titular da 1° conta: "); primeiraContaCorrente.Titular.Nome = Console.ReadLine(); Console.Write($"Digite o valor do saldo da conta de {primeiraContaCorrente.Titular.Nome}: "); primeiraContaCorrente.Saldo = double.Parse(Console.ReadLine()); Console.WriteLine(); switch (opcao) { case 1: Console.Write("Quanto deseja depositar? "); double valorDeposito = double.Parse(Console.ReadLine()); primeiraContaCorrente.Depositar(valorDeposito); break; case 2: Console.Write("Quanto deseja sacar? "); double valorSaque = double.Parse(Console.ReadLine()); primeiraContaCorrente.Sacar(valorSaque); break; case 3: Console.Write("Digite o nome do titular da 2° conta: "); segundaContaCorrente.Titular.Nome = Console.ReadLine(); Console.Write($"Digite o valor do saldo da conta de {segundaContaCorrente.Titular.Nome}: "); segundaContaCorrente.Saldo = double.Parse(Console.ReadLine()); Console.Write("Quanto deseja transferir? "); double valorTransferencia = double.Parse(Console.ReadLine()); Console.WriteLine(); Console.Write("Confirme seu CPF sem pontos: "); segundaContaCorrente.Titular.CPF = Console.ReadLine(); if (segundaContaCorrente.Titular.CPF.Length == 11 || segundaContaCorrente.Titular.CPF.Length == 14) { primeiraContaCorrente.Transferir(valorTransferencia, segundaContaCorrente); } else { Console.WriteLine("CPF inválido. Impossível realizar a transferência!"); } break; } Console.WriteLine("\nJoaosan \u00a9"); Console.ReadLine(); }