HttpResponseException和HttpException之间有什么区别

Luk*_*ett 14 asp.net-mvc

来自http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handling

HttpResponseException

如果Web API控制器抛出异常会发生什么?默认情况下,大多数异常都会转换为状态代码为500,内部服务器错误的HTTP响应.

HttpResponseException类型是一种特殊情况.此异常返回您在异常构造函数中指定的任何HTTP状态代码.

除了它没有.提琴手告诉我500返回.

但是,HttpException似乎就是那篇文章所说的.

文档是错误的还是我错过了什么?

UPDATE

在打字的时候,我有了一个主意.我试过两个控制器,一个ApiController和一个标准的MVC控制器.

这两个异常相互反向,具体取决于它们抛出的控制器类型.

  • 使用HttpResponseException从API控制器返回正确的HTTP代码.
  • 使用HttpException从MVC控制器返回正确的HTTP代码.

Luk*_*ett 17

[将我的更新移至答案]

在打字的时候,我有了一个主意.我试过两个控制器,一个ApiController和一个标准的MVC控制器.

这两个异常相互反向,具体取决于它们抛出的控制器类型.

  • 使用HttpResponseException从API控制器返回正确的HTTP代码.
  • 使用HttpException从MVC控制器返回正确的HTTP代码.