Asp.net mvc 如果自定义重定向重定向到控制器,则访问异常

Asp.net mvc 如果自定义重定向重定向到控制器,则访问异常,asp.net-mvc,http,error-handling,Asp.net Mvc,Http,Error Handling,我正在使用MVC4,并且希望能够从一个控制器抛出HttpExceptions,并在一个单独的控制器中处理这些异常 我已经为此设置了。这是可行的,但在我的控制器中,我希望能够访问异常 我希望有两种模式: 处理HttpException的实例,以便我可以从控制器抛出HttpException并相应地处理它 处理所有其他错误 在第一种情况下,我想向useragent提供适当的状态代码,可能还有一个视图。在第二个示例中,我希望向useragent显示状态500,并显示一个带有可选消息的默认视图 为此,我

我正在使用MVC4,并且希望能够从一个控制器抛出HttpExceptions,并在一个单独的控制器中处理这些异常

我已经为此设置了
。这是可行的,但在我的控制器中,我希望能够访问异常

我希望有两种模式:

  • 处理HttpException的实例,以便我可以从控制器抛出HttpException并相应地处理它

  • 处理所有其他错误

  • 在第一种情况下,我想向useragent提供适当的状态代码,可能还有一个视图。在第二个示例中,我希望向useragent显示状态500,并显示一个带有可选消息的默认视图

    为此,我认为我需要访问异常数据——至少,我想不出其他合适的方法来实现这一点

    正确的设置方法是什么?我知道在MVC中还有很多关于错误处理的问题,但似乎没有人能回答这些问题

     but in my controller I would like to be able to access the exception.
    
    您是否尝试过:

    Server.GetLastError()-应该在global.asax中的应用程序_Error中使用,在这种情况下,您可以像这样处理最后一个错误,而且应该删除

    filters.Add(new HandleErrorAttribute());
    
    在FilterConfig.cs中

    有关更多信息,请参阅:


    唉,
    Server.GetLastError
    返回
    null
    filters.Add(new HandleErrorAttribute());