1
resposta

[Dúvida] objeto não definido

Boa tarde gente.

estava tentando fazer o tratamento de "Null reference" e tentando ver as propriedades do objeto exceção, recebendo a seguinte resposta no meu console:

Referência de objeto não definida para uma instância de um objeto.
   em ByteBank.Program.Dividir(Int32 numero, Int32 divisor) na C:\Users\serci\OneDrive\02 cursos\02 - ALURA\C SHARP\Exceções\ByteBank\Program.cs:linha 51
   em ByteBank.Program.TestaDivisao(Int32 divisor) na C:\Users\serci\OneDrive\02 cursos\02 - ALURA\C SHARP\Exceções\ByteBank\Program.cs:linha 37
   em ByteBank.Program.Metodo() na C:\Users\serci\OneDrive\02 cursos\02 - ALURA\C SHARP\Exceções\ByteBank\Program.cs:linha 25

essa é a resposta esperada mesmo? abaixo colo o trecho de código do tratamento:

   `        private static void Metodo()
        {
            try
            {
                TestaDivisao(2);
            }
            catch (NullReferenceException excecao) 
            {
                Console.WriteLine(excecao.Message);
                Console.WriteLine(excecao.StackTrace);
            }

        }`
1 resposta

Sérgio,

Pelo que entendi, a exceção é "Divião por Zero" (System.DivideByZeroException).

private static void Metodo()
{
    try
    {
        TestaDivisao(2);
    }
    catch (NullReferenceException excecao)
    {
        Console.WriteLine(excecao.Message);
        Console.WriteLine(excecao.StackTrace);
    }
}

Minha tela:

System.DivideByZeroException: 'Tentativa de divisão por zero.'

static void Main()
{
    Metodo();

    Console.WriteLine("Divisão: " + Dividir(3, 0));

    Console.ReadKey();
}
private static void TestaDivisao(int divisor)
{
    int resultado = Dividir(10, divisor);

    Console.WriteLine("Resultado da divisão por 10 " + divisor + " é " + resultado);
}
private static int Dividir(int numero, int divisor)
{
    try
    {
        return numero / divisor;
    }
    catch
    {
        Console.WriteLine("Exceção com número = " + numero + " e divisor = " + divisor);
        throw;
    }
}

[]'s,

Fabio I.