В ядре asp.net вы можете использовать Фильтры исключений .
Мы можем создать собственный фильтр исключений, например:
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
....
....
public class HandleExceptionAttribute : ExceptionFilterAttribute
{
public override void OnException(ExceptionContext context)
{
var result = new ViewResult { ViewName = "Error" };
var modelMetadata = new EmptyModelMetadataProvider();
result.ViewData = new ViewDataDictionary(
modelMetadata, context.ModelState);
result.ViewData.Add("HandleException",
context.Exception);
context.Result = result;
context.ExceptionHandled = true;
}
}
Можно добавить фильтрк трубопроводу в одной из трех областей применения.Вы можете добавить фильтр к определенному методу действия или к классу контроллера, используя атрибут.Или вы можете зарегистрировать фильтр глобально для всех контроллеров и действий.Фильтры добавляются глобально, добавляя их в коллекцию MvcOptions.Filters в ConfigureServices:
services.AddMvc(options=>options.Filters.Add(new HandleExceptionAttribute()));
См. Создание настраиваемого фильтра исключений в ASP.NET Core .