示例#1
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(456, 874150);
                ContaCorrente conta2 = new ContaCorrente(485, 456578);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine();
                Console.WriteLine("informções da Inner Exception:");
                Console.WriteLine(e.InnerException.Message);
                Console.WriteLine(e.InnerException.StackTrace);
            }

            //try
            //{
            //    ContaCorrente conta = new ContaCorrente(456, 874150);
            //    ContaCorrente conta2 = new ContaCorrente(485, 456578);

            //    conta2.Transferir(10000,conta);
            //    conta.Depositar(50);
            //    Console.WriteLine(conta.Saldo);
            //    conta.Sacar(500);

            //}
            //catch(ArgumentException e)
            //{
            //    Console.WriteLine("Argumento com problema: " + e.ParamName);
            //    Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException");
            //    Console.WriteLine(e.Message);
            //}
            //catch (SaldoInsuficienteException e)
            //{
            //    Console.WriteLine(e.Saldo);
            //    Console.WriteLine(e.ValorSaque);
            //    Console.WriteLine(e.StackTrace);
            //    Console.WriteLine(e.Message);
            //    Console.WriteLine("Exceção do tipo SaldoInsuficienteException ");
            //}
            //catch (Exception e)
            //{
            //    Console.WriteLine(e.Message);

            //}

            ////Console.WriteLine(ContaCorrente.TaxaOperacao);
        }
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            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);
            }

            try
            {
                ContaCorrente conta  = new ContaCorrente(456, 4578420);
                ContaCorrente conta2 = new ContaCorrente(485, 4564780);

                conta2.Transferir(1000, conta);

                conta.Depositar(50);
                Console.WriteLine(conta.Saldo);
                conta.Sacar(-500);
            }
            catch (ArgumentException e)
            {
                Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException.");
                Console.WriteLine("Argumento com problema: " + e.ParamName);
                Console.WriteLine(e.Message);
            }
            catch (SaldoInsuficienteException e)
            {
                Console.WriteLine(e.Saldo);
                Console.WriteLine(e.ValorSaque);

                Console.WriteLine(e.StackTrace);

                Console.WriteLine(e.Message);
                Console.WriteLine("Exceção do tipo SaldoInsuficienteException.");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        }
示例#3
0
 static void Main(string[] args)
 {
     try
     {
         ContaCorrente conta = new ContaCorrente(123, 123);
         conta.Depositar(500);
         conta.Sacar(1000);
     }
     catch (OperacaoFinanceiraException e)
     {
         Console.WriteLine(e.Message);
     }
 }
示例#4
0
        private static void TestandoInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(090, 39090);
                ContaCorrente conta2 = new ContaCorrente(090, 9999);

                conta1.Sacar(11111);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
        }
示例#5
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta = new ContaCorrente(222, 33510310);
                //ContaCorrente conta2 = new ContaCorrente(1552, 1651096);

                conta.Sacar(200000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
示例#6
0
        public static void TesteInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(514, 456789);
                ContaCorrente conta2 = new ContaCorrente(543, 432167);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFincanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
示例#7
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                // conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }
        }
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);

                Console.WriteLine("Informações da INNER EXCEPTION (exceção interna):");
            }
        }
示例#9
0
 public void Transferir(double valor, ContaCorrente contaDestino)
 {
     if (valor < 0)
     {
         throw new ArgumentException("Valor invalido para a tranferência.", nameof(valor));
     }
     try
     {
         contaDestino.Sacar(valor);
     }
     catch (SaldoInsuficienteException e)
     {
         ContadorTrasferenciasNaoPermitidos++;
         throw new OperacaoFinanceiraException("Operação não realizada.", e);
     }
     contaDestino.Depositar(valor);
 }
示例#10
0
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }

            Console.ReadKey();
        }
示例#11
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta  = new ContaCorrente(475, 273298);
                ContaCorrente conta2 = new ContaCorrente(123, 44444);

                //conta2.Transferir(10000, conta);

                //conta.Depositar(50);
                //Console.WriteLine(conta.Saldo);
                conta.Sacar(100000);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException!");
                Console.WriteLine(ex.Message);
                Console.WriteLine("Argumento com problema: {0}", ex.ParamName);
                //Console.WriteLine(ex.StackTrace);
            }
            catch (SaldoInsuficienteException ex)
            {
                Console.WriteLine(ex.Saldo);
                Console.WriteLine(ex.ValorSaque);

                Console.WriteLine(ex.StackTrace);

                Console.WriteLine(ex.Message);
                Console.WriteLine("Exceção do tipo SaldoInsuficienteException");
            }
            catch (OperacaoFinanceiraException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);

                Console.WriteLine("Informações da INNER EXCEPTION");
                Console.WriteLine(ex.InnerException.Message);
                Console.WriteLine(ex.InnerException.StackTrace);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }
        }
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
            }

            Console.WriteLine("Execução finalizada. Tecle enter para sair.");
            Console.ReadLine();
        }
示例#13
0
        private static void TestaInnerException()
        {
            try {
                ContaCorrente conta1 = new ContaCorrente(225, 2556);
                ContaCorrente conta2 = new ContaCorrente(225, 2557);

                //conta1.Transferir(100000, conta2);
                conta1.Sacar(5000);
            }
            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);*/
            }
        }
示例#14
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(423, 2342345);
                ContaCorrente conta2 = new ContaCorrente(534, 5343345);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);

                //Console.WriteLine("Informações da INNER EXCEPTION (exceção interna)");
            }
        }
示例#15
0
        public static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta  = new ContaCorrente(456, 4578420);
                ContaCorrente conta2 = new ContaCorrente(485, 456478);

                conta2.Transferir(10000000, conta);

                conta.Depositar(50);
                Console.WriteLine(conta.Saldo);
                conta.Sacar(500);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine("Argumento com problemas: " + ex.ParamName);
                Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException");
                //Console.WriteLine(ex.Message);
            }
            catch (SaldoInsuficienteException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.WriteLine("Exceção do tipo SaldoInsuficienteException");
            }
            catch (OperacaoFinanceiraException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);

                Console.WriteLine("Message Inner Exception: ----------- " + ex.InnerException.Message);
                Console.WriteLine("StackTrace Inner Exception: ----------- " + ex.InnerException.StackTrace);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
            }


            //Console.WriteLine(ContaCorrente.TaxaOperacao);

            Console.ReadLine();
        }
示例#16
0
        static void Main(string[] args)
        {
            try
            {
                //Metodo();

                ContaCorrente conta  = new ContaCorrente(456, 4578420);
                ContaCorrente conta2 = new ContaCorrente(485, 456478);

                conta2.Transferir(-10, conta);

                conta.Depositar(50);
                Console.WriteLine(conta.Saldo);
                conta.Sacar(-500);
            }
            catch (DivideByZeroException e)
            {
                Console.WriteLine("Não é possivel divisão por zero");
            }
            catch (ArgumentException ex)
            {
                if (ex.ParamName == "numero")
                {
                }
                Console.WriteLine("Argumento com problema: " + ex.ParamName);
                Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException");
                Console.WriteLine(ex.Message);
            }
            catch (SaldoInsuficienteException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("Exceção do tipo SaldoInsuficienteException");
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine("Aconteceu um erro");
            }


            Console.ReadLine();
        }
示例#17
0
        static void Main(string[] args)
        {
            var marcos = new Cliente()
            {
                nome      = "Marcos",
                cpf       = "477.444",
                profissao = "Desenvolvedor"
            };

            ContaCorrente contaMarcos = new ContaCorrente(100, 56526)
            {
                Titular = marcos
            };

            contaMarcos.Saldo = 120.60;

            ContaCorrente contaPaulo = contaMarcos;

            contaPaulo.Sacar(50);
            contaPaulo.Depositar(500);

            var gabriela = new Cliente()
            {
                nome      = "Gabriela",
                cpf       = "555.444",
                profissao = "Desenvolvedor SR"
            };

            ContaCorrente contaDaGabriela = new ContaCorrente(120, 333)
            {
                Titular = gabriela
            };

            contaPaulo.Tranferir(100, contaDaGabriela);

            Console.WriteLine(contaMarcos.Titular);
            Console.WriteLine(contaMarcos.Saldo);
            Console.WriteLine(contaPaulo.Titular);
            Console.WriteLine(contaPaulo.Saldo);
            Console.WriteLine(contaDaGabriela.Titular);
            Console.WriteLine(contaDaGabriela.Saldo);
            Console.WriteLine(ContaCorrente.TotalDeContasCriadas);
        }
示例#18
0
 static void Main(string[] args)
 {
     try
     {
         ContaCorrente conta1 = new ContaCorrente(4564, 7682384);
         ContaCorrente conta2 = new ContaCorrente(7891, 456794);
         conta1.Transferir(10000, conta2);
         conta1.Sacar(10000);
     }
     catch (OperacaoFinanceiraException e)
     {
         Console.WriteLine(e.Message);
         Console.WriteLine(e.StackTrace);
         Console.WriteLine("Informações da INNER EXCEPTION: ");
         Console.WriteLine(e.InnerException.Message);
         Console.WriteLine(e.InnerException.StackTrace);
     }
     Console.ReadLine();
 }
示例#19
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(456, 456789);
                ContaCorrente conta2 = new ContaCorrente(789, 456123);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);

                Console.WriteLine("InnerException: ");
                Console.WriteLine(ex.InnerException.Message);
                Console.WriteLine(ex.InnerException.StackTrace);
            }
        }
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta  = new ContaCorrente(1612, 58479);
                ContaCorrente conta2 = new ContaCorrente(1612, 14985);

                conta.Depositar(200);

                conta.Sacar(100);

                conta.Transferir(5000, conta2);
            }
            catch (ArgumentException ex)
            {
                Console.WriteLine("Argumento com Problema " + ex.ParamName);
                Console.WriteLine("Ocorreu um erro do tipo ArgumentException");
                Console.WriteLine(ex.Message);
            }
            catch (SaldoInsuficienteException ex)
            {
                /*Neste momento é possivel acessaro estado da aplicação no momento da exceção */
                Console.WriteLine(ex.Message);
                Console.WriteLine("Exceção do tipo saldo insuficiente");
                Console.WriteLine("Valor do saldo: " + ex.Saldo);
                Console.WriteLine("Valor do saque: " + ex.ValorSaque);

                Console.WriteLine(ex.StackTrace);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            //onsole.WriteLine(conta.Agencia);
            //onsole.WriteLine(conta.Numero);
            //onsole.WriteLine(ContaCorrente.TaxaDeOperacao);



            Console.ReadLine();
        }
示例#21
0
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789684);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                // conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);

                // Console.WriteLine("Informações da INNER EXCEPTION (exceção interna):");
            }

            Console.WriteLine("Execução finalizada. Tecle enter para sair");
            Console.ReadLine();
        }
示例#22
0
        private static void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(544, 5465);
                ContaCorrente conta2 = new ContaCorrente(471, 8554);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(1000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);

                // Informações sigilosas agora podem ser acessadas apenas pela propriedade Inner Exception
                //Console.WriteLine("Informações da INNER Exception (exceção interna): ");
                //Console.WriteLine(e.InnerException.Message);
                //Console.WriteLine(e.InnerException.StackTrace);
            }
        }
示例#23
0
        private void TestaInnerException()
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(456, 4578420);
                ContaCorrente conta2 = new ContaCorrente(432, 4230494);
                //conta1.Transferir(1000000000, conta2);
                conta1.Sacar(10000);
            }
            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 conta1 = new ContaCorrente(768, 7687150);
                ContaCorrente conta2 = new ContaCorrente(768, 7687151);
                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);
                Console.WriteLine();

                //Console.WriteLine("Informações da INNER EXCEPTION:");
                //Console.WriteLine(e.InnerException.Message);
                //Console.WriteLine(e.InnerException.StackTrace);
            }

            Console.WriteLine();
        }
示例#25
0
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta  = new ContaCorrente(456, 4578420);
                ContaCorrente conta2 = new ContaCorrente(485, 456478);

                conta2.Transferir(-10, conta);

                conta.Depositar(50);
                Console.WriteLine(conta.Saldo);
                conta.Sacar(-500);
                Console.WriteLine(conta.Saldo);
            }
            catch (ArgumentException ex)
            {
                if (ex.ParamName == "numero")
                {
                }

                Console.WriteLine("Argumento com problema: " + ex.ParamName);
                Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException");
                Console.WriteLine(ex.Message);
            }
            catch (SaldoInsuficienteException ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine("Exceção do tipo SaldoInsuficienteException");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            //Metodo();

            Console.WriteLine("Execução finalizada. Tecle enter para sair");
            Console.ReadLine();
        }
        private static void RegistrarContas()
        {
            Conta   contaBruno = new ContaCorrente(836, 836754);
            Cliente bruno      = new Cliente();

            bruno.Nome         = "Bruno";
            contaBruno.Titular = bruno;
            contaBruno.Depositar(100);

            Conta   contaLarissa = new ContaPoupanca(836, 836755, new DateTime(2020, 2, 5));
            Cliente larissa      = new Cliente();

            larissa.Nome         = "Larissa";
            contaLarissa.Titular = larissa;
            contaLarissa.Depositar(100);

            contaLarissa.Sacar(50);
            contaBruno.Sacar(50);

            EscreverContaESaldo(contaLarissa);
            EscreverContaESaldo(contaBruno);
        }
        static void Main(string[] args)
        {
            try
            {
                ContaCorrente conta1 = new ContaCorrente(4564, 789645);
                ContaCorrente conta2 = new ContaCorrente(7891, 456794);

                //conta1.Transferir(10000, conta2);
                conta1.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.WriteLine(e.Message);
                Console.WriteLine(e.StackTrace);

                //Console.WriteLine("Informações da InnerException:");
            }

            Console.WriteLine("Execucação finalizada. Tecle Enter para finalizar.");

            Console.ReadLine();
        }
示例#28
0
        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);
        }
示例#29
0
        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);
            }
        }
示例#30
0
        private static void criaContas()
        {
            try
            {
                ContaCorrente conta  = new ContaCorrente(123, 456789);
                ContaCorrente conta2 = new ContaCorrente(123, 987654);

                conta.Sacar(10000);
            }
            catch (OperacaoFinanceiraException e)
            {
                Console.Write(e.Message);
                Console.WriteLine("");
                Console.WriteLine("");
                Console.Write(e.StackTrace);
                Console.WriteLine("");
                Console.WriteLine("");
                Console.Write("Informações da innerException: ");
                Console.WriteLine(e.InnerException);
            }

            Console.WriteLine("Aperte enter para sair da aplicação . . .");
            Console.ReadLine();
        }