HttpResponseException和HttpException之间有什么区别

时间:2012-06-27 11:11:08

标签: asp.net-mvc

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

  

HttpResponseException

     

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

     

HttpResponseException类型是一种特殊情况。这个例外   返回您在构造函数中指定的任何HTTP状态代码   例外。

外。小提琴手告诉我500返回。

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

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

更新

打字时,我有个主意。我尝试了两个控制器,一个ApiController和一个标准的MVC控制器。

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

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

1 个答案:

答案 0 :(得分:15)

[将我的更新移至答案]

打字时,我有个主意。我尝试了两个控制器,一个ApiController和一个标准的MVC控制器。

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

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