http://www.asp.net/web-api/overview/web-api-routing-and-actions/exception-handlingから
HttpResponseException
Web APIコントローラーが例外をスローした場合はどうなりますか?デフォルトでは、ほとんどの例外はステータスコード500、内部サーバーエラーのHTTP応答に変換されます。
HttpResponseExceptionタイプは特殊なケースです。この例外は、例外のコンストラクターで指定したHTTPステータスコードを返します。
そうでないことを除いて。Fiddlerは、500が返されることを示しています。
ただし、HttpExceptionはその記事の内容を実行しているようです。
ドキュメントが間違っていますか、それとも何かが足りませんか?
アップデート
それをタイプしている間、私は考えを持っていました。ApiControllerと標準MVCコントローラーの2つのコントローラーから両方を試しました。
2つの例外は、スローされたコントローラーのタイプに応じて、互いに逆に機能します。
- HttpResponseExceptionを使用して、APIコントローラーから適切なHTTPコードを返します。
- HttpExceptionを使用して、MVCコントローラーから適切なHTTPコードを返します。