基于this文章,我实现了自己的ExceptionFilterAttribute
并在GlobalConfiguration
中注册了过滤器,以便在MVC 4 Web API中进行自定义异常处理。
但是,ExceptionFilterAttribute
仅针对控制器操作中抛出的异常进行调用, 后,框架将解析该请求。
我还想在调用控制器操作之前为抛出的异常实现自定义错误处理。例如,DelegatingHandler
中抛出的异常当前返回以下HTML:
<!DOCTYPE html>
<html>
<head>
<title>Exception of type 'System.Exception' was thrown.</title>
...
如果要为此方案返回自己的自定义错误,我需要做什么?
答案 0 :(得分:1)
如果从您编写的过滤器生成DelegatingHandler异常,则可以添加另一个过滤器以“捕获”其中一些异常shown in this SO answer。
正如您已经发现并在SO答案中记录的那样,您实际上“陷入”Web API管道的例外情况非常有限。我看到尝试执行您所描述的内容的唯一选择是将自定义HttpMessageHandler
写为demonstrated in this good article。