从
http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling
HttpResponseException
What happens if a Web API controller throws an exception? By default,
most exceptions are translated into an HTTP response with status code
500,Internal Server Error.The HttpResponseException type is a special case. This exception
returns any HTTP status code that you specify in the constructor of
the exception.
除了它没有. Fiddler向我显示一个500被退回.
但是,HttpException似乎做了那篇文章.
UPDATE
在打字时,我有一个想法.我试过两个控制器,一个ApiController和一个标准的MVC控制器.
这两个异常根据他们抛出的控制器的类型相互反向工作.
>使用HttpResponseException从API返回适当的HTTP代码
控制器.
>使用HttpException从一个返回一个适当的HTTP代码
MVC控制器.