1
resposta

Desafio: hora da prática - Atividade 04

Carro.cs

public class Carro {

    public string Nome {get;set;}
    public string Marca {get;set;}
    public string Modelo {get;set;}

    public string ObterDescricao() => $"{Nome} - {Marca} - {Modelo}"; 
}

Program.cs

Console.Clear();

Carro carro = null;

try {
    var descricao = carro.ObterDescricao();
    Console.WriteLine(descricao);
}
catch (NullReferenceException) {
    Console.WriteLine("Não é possível utilizar um método de um objeto nulo.");
}
catch (Exception ex) {
    Console.WriteLine($"Um erro foi encontrado: {ex.Message}");
}
1 resposta

Oi, Diego! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Gostei da forma como você tratou a exceção com NullReferenceException, isso mostra atenção com cenários de erro. Do jeito que você explicou, o ponto central é que o objeto carro está null, então ao chamar carro.ObterDescricao() a exceção é lançada.

Você pode usar o operador de verificação nula ?., que evita a exceção automaticamente:


Carro carro = null;

var descricao = carro?.ObterDescricao();

Console.WriteLine(descricao ?? "Objeto nao foi inicializado.");

Esse código tenta acessar o método apenas se o objeto existir, e usa uma mensagem padrão caso seja null.

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!