2
respostas

Bloco de código está apresentando erro

Na parte escrita da aula, o bloco de código parece que foi digitado de forma incorreta.

        static void Main(string[] args)
    {
    try
        {
        ContaCorrente conta = new ContaCorrente(456,  4578420);
                ContaCorrente conta2 = new ContaCorrente(485, 456478);

                conta2.Transferir(10000, conta);
        }
    catch (ArgumentException ex)
    {
            if(ex.ParamName == "agencia")
        }

        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.Saldo);
        Console.WriteLine(ex.ValorSaque);

        Console.WriteLine(StackTrace);

        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();
                }
    }
2 respostas

Por favor dá uma olhada e tenta corrigir isso lá, ou me corrija também se for o caso. Vlw

Olá, olhando por cima tem alguns pontos para ajustar

verifique na linha do if: if(ex.ParamName == "agencia") não há nada nesse if, e logo tem um }

as proximas 3 linhas estão por fora do catch: Console.WriteLine("Argumento com problema: " + ex.ParamName); Console.WriteLine("Ocorreu uma exceção do tipo ArgumentException); //<-----Verifique que falta aspas duplas de fechamento de string Console.WriteLine(ex.Message);

logo em seguida tem mais catchs, mas não estão aninhados com nenhum try,

1º passo para ajustar, fechar a string Ocorreu uma exceção do tipo ArgumentException com as aspas duplas

2º ajustar estas 3 linhas mencionadas ali em cima, para depois do try catch ou dentro de algum escopo

3º Sei que colar o codigo aqui direto perde a indentação, mas fique atento a este ponto, pois se vc manter organizado da de ver estes detalhes facilmente

Acredito que o que vc deseja seja isto: Insira aqui a descrição dessa imagem para ajudar na acessibilidade..


static void Main(string[] args)
{
    try
    {
        ContaCorrente conta = new ContaCorrente(456,  4578420);
        ContaCorrente conta2 = new ContaCorrente(485, 456478);
        conta2.Transferir(10000, conta);
    }
    catch (ArgumentException ex)
    {
        if(ex.ParamName == "agencia")
        {
            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.Saldo);
        Console.WriteLine(ex.ValorSaque);

        Console.WriteLine(StackTrace);

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