httpResponseExceptionをスローすることができません

私は私のコントローラから以下の禁止ResponseExceptionをスローしようとします。 「HTTPリクエストの処理で例外が発生しました。詳細については、この例外の「レスポンス」プロパティから返されるHTTPレスポンスを参照してください。コントローラーメソッドのキャッチブロックにキャッチされます。これを解決するための助けが必要です

throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));
0
この例外を投げる場所はどこですか?
追加された 著者 Cuong Le,
私はモデルクラスからこの例外をスローします
追加された 著者 Mohan,

1 答え

HttpResponseExceptionの場合はコントローラの実装を再スローするように変更してください:

try
{
   //action implementation
}
catch (Exception e)
{
    if (e is HttpResponseException)
    {
        throw e;
    }
   //error handling logic
}

しかし、より良い答えは#1です - あなたはすべての例外をキャッチすることを避けるべきです、それは悪い習慣です。そして、#2 - 代わりに例外フィルタを使用して、エラー処理を行い、例外を自分で捕まえてはいけません。

0
追加された