1
resposta

NullReferenceException não Executando com Debugger

Boa tarde,

Quando executo o código com debug (F5) ele não entra nos trycatchs, e quando executo sem o debug (Ctrl+F5) ele executa os trycatch, deixei passar alguma coisa na aula?

public class Program { static void Main(string[] args) { try { Metodo(); } catch (DivideByZeroException excecao) { Console.WriteLine(excecao.Message); Console.WriteLine(excecao.StackTrace); } Console.ReadLine(); }

    static int Dividir(int numero, int divisor)
    {
        ContaCorrente conta = null;
        Console.WriteLine(conta.Saldo);
        return numero / divisor;
    }

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

    static void TestaDivisao(int divisor)
    {
        Dividir(10, divisor);
    }
}
1 resposta

Olá Victor, tudo certo?

O Ctrl + F5 inicia o programa sem fazer a depuração, assim, já mostrando/facilitando as informações no console, mesmo havendo uma exceção.

O F5 irá depurar, mas irá "explodir" a exceção. Perceba que onde você seleciona o "Iniciar", irá aparecer agora o "Continuar". Faça o teste e quando "explodir" a exceção, selecione-o.

Isso não acontece na aula, pela versão do Visual Studio que o professor está utilizando.

Espero ter ajudado. Qualquer dúvida vou estar por aqui.

Um forte abraço!