0

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

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

1 回答 1

0

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

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

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

于 2013-03-25T05:58:07.237 回答