1

根据这篇文章,我实现了自己的过滤器,并在 MVC 4 Web API 中注册了自定义异常处理ExceptionFilterAttribute的过滤器。GlobalConfiguration

然而,在框架解析请求之后ExceptionFilterAttribute,只有在控制器操作中引发的异常才会被调用。

我还想为调用控制器操作之前抛出的异常实现自定义错误处理。例如,DelegatingHandler当前抛出的异常返回给我以下 HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>Exception of type 'System.Exception' was thrown.</title>
        ...

在这种情况下,我需要做什么才能返回我自己的自定义错误?

4

1 回答 1

1

如果 DelegatingHandler 异常是从您编写的过滤器生成的,那么您可以添加另一个过滤器来“捕获”其中一些异常,如this SO answer所示

正如您发现并记录在该 SO 答案中的那样,您实际上会从 Web API 管道中“捕获”哪些异常非常有限。我看到尝试执行您所描述的唯一选择是编写一个自定义HttpMessageHandler,如这篇好文章中所示

于 2013-07-31T19:35:21.047 回答