web API 的异常处理

实现自定义的异常处理类

---------------------------------------------------------------------

public class MyExceptionFilter : IExceptionFilter
{
  public bool AllowMultiple => true;

  public async Task ExecuteExceptionFilterAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken)
  {
    // throw new NotImplementedException();
    Exception ex= actionExecutedContext.Exception;
    //Console.WriteLine(ex.ToString());
  }
}

注册自定义异常处理类

----------------------------------------------------------------------------

public static class WebApiConfig
{
  public static void Register(HttpConfiguration config)
  {
    config.MapHttpAttributeRoutes();

    config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional });

    //config.Filters.Add(new MyFilter());
    config.Filters.Add(new MyExceptionFilter());
  }
}

原文地址:https://www.cnblogs.com/bruce1992/p/14032397.html