Spring mvc 如何在spring中处理泛型异常

Spring mvc 如何在spring中处理泛型异常,spring-mvc,exception-handling,error-handling,Spring Mvc,Exception Handling,Error Handling,我正在做一个spring项目,它有几个类。现在,该项目中的代码没有达到标准,因为在任何类中都没有定义try-catch块。 我的web.xml中有以下映射 <error-page> <exception-code>404</exception-type> <location>/error.do</location> </error-page> 404 /error.do /error.do映射到一个控制

我正在做一个spring项目,它有几个类。现在,该项目中的代码没有达到标准,因为在任何类中都没有定义try-catch块。 我的web.xml中有以下映射

<error-page>
    <exception-code>404</exception-type>
    <location>/error.do</location>
</error-page>

404
/error.do
/error.do映射到一个控制器,从该控制器将其转发到通用错误视图。现在,是否可以获取异常的堆栈跟踪。我唯一的要求是在错误处理程序中获取异常详细信息,比如——异常起源的位置,比如类名、方法名和异常消息,我认为这些信息在堆栈跟踪中是可用的。
你知道如何处理这个问题吗?

是的,你可以这样做。Spring提供了注释。因此在你的控制器中写一个方法,如下所示:

@ExceptionHandler(YourException.class)
public ModelAndView handleYourException(YourException ex, HttpServletRequest request) {
    mav = new ModelAndView();
    mav.addObject("exception", exception);
    mav.setViewName("YourException Page");
    return mav;
}

希望你明白我的意思。

上面为“404未找到”错误定义了一个错误页面。404在收到对未知资源的请求时发生。当从Spring控制器引发异常时不会发生。请参阅,但即使在我未捕获时存在一般异常,它也会转到此控制器。这不仅仅是处理404错误。