无法抛出httpResponseException

时间:2013-03-25 04:15:38

标签: asp.net-mvc-3 asp.net-mvc-4 asp.net-web-api wcf-web-api

当我尝试从控制器中抛出以下禁止的ResponseException时。表示“处理HTTP请求导致异常的异常。请参阅此异常的'Response'属性返回的HTTP响应以获取详细信息。”被捕获在控制器方法的catch块中。需要帮助来解决这个问题

throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden));

1 个答案:

答案 0 :(得分:0)

如果它是HttpResponseException,只需将控制器实现更改为重新抛出:

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

但更好的答案是#1 - 你应该避免捕捉所有异常,这是不好的做法。而且#2 - 您应该使用异常过滤器来进行错误处理而不是自己捕获异常。