1
resposta

[Dúvida] Desafio 4 não caindo na exceção.

Bom dia! Escrevi os seguintes códigos.

Arquivo 1:

namespace ScreenSound;

public class Pessoa
{ 
    public void Executar()
    {
        Console.WriteLine("Cleiton");
    }
}

Arquivo 2:

using ScreenSound;

try
{
    Pessoa pessoa = null;

    pessoa.Executar();
}
catch (NullReferenceException ex)
{
    Console.WriteLine($"Não foi possível printar o nome. Erro: {ex.Message}");
}

E está dando o erro System.NullReferenceException: 'Object reference not set to an instance of an object.' pessoa era null. Porém esse erro não está caindo na exceção, ou seja, ele está parando o programa.

Desde já agradeço a atenção!

1 resposta

Olá Cauê, bom dia!

Pelo que você descreveu, parece que o problema está no fato de que a exceção NullReferenceException não está sendo capturada corretamente, e o programa está parando ao invés de exibir a mensagem de erro no console.

No seu código, você está tentando chamar o método Executar() em uma referência nula de Pessoa, o que gera uma NullReferenceException, como esperado. No entanto, o seu bloco try-catch deve capturar essa exceção e exibir a mensagem de erro.

O código que você postou parece estar correto em termos de estrutura para capturar a exceção. Contudo, certifique-se de que o bloco try-catch está corretamente implementado e que não há outros problemas no ambiente de execução que possam estar interferindo na captura da exceção.

Aqui está um exemplo que deve funcionar:

using ScreenSound;

try
{
    Pessoa pessoa = null;
    pessoa.Executar();
}
catch (NullReferenceException ex)
{
    Console.WriteLine($"Não foi possível printar o nome. Erro: {ex.Message}");
}

Se o problema persistir, pode ser interessante verificar se o seu ambiente de desenvolvimento está configurado corretamente para capturar exceções ou se há alguma configuração específica que possa estar afetando o comportamento do tratamento de exceções.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.