Erros do ASP.NET Core MVC (antigo MVC 6) Razor não são capturados pelo filtro de exceção
Segundo plano: aplicativo MVC 6 do ASP.NET 5 (ASP.NET Core 1.0) usando o Dapper e o padrão do repositório
Obviamente, como em qualquer outro site / aplicativo, estou tentando eliminar a maioria / todas as exceções que aparecem no meu site.
Eu implementei umExceptionFilter
para capturar todas as exceções não tratadas como esta:
public class UnhandledExceptionFilter : ActionFilterAttribute, IExceptionFilter
{
private readonly IErrorRepo _errorRepo;
public UnhandledExceptionFilter(IErrorRepo errorRepo)
{
_errorRepo = errorRepo;
}
public void OnException(ExceptionContext context)
{
try
{
_errorRepo.SaveException(context.Exception);
}
catch { }
}
}
Isso funciona muito bem quando o erro vemC#
código. Mas propositalmente cometi erros nas minhas visualizações de navalha (arquivos cshtml) e essas NÃO estão sendo capturadas por esse filtro.
Existe um atributo / interface adicional que preciso herdar para capturar exceções de barbear?
ATUALIZAR:
Aqui é onde o atributo de filtro é especificado, no arquivo startup.cs no método ConfigureServices.
services.AddMvc(options =>
{
options.Filters.Add(new UnhandledExceptionFilter(new ErrorRepo(Configuration)));
});