Criando ExceptionHandler customizado com AspNetCore. Muitas vezes desejamos salvar logs de erros, enviar emails notificando os desenvolvedores ou retornar uma mensagem padrão para o usuário ou realizar algum procedimento padrão. Fazer isso através de controllers de erro ou até mesmo razor pages nós já sabemos.
Há ainda uma maneira de criar um Handler personalizado para isso.
Na classe startup.cs, adicione o seguinte ao método Configure:
app.UseExceptionHandler(x =>
{
x.Run(context =>
{
var detalhesExcecao = context.Features.Get<IExceptionHandlerPathFeature>();
/*
capture aqui os detalhes da exceção, salve em uma váriavel ou trate como desejar
*/
return Task.CompletedTask;
});
});