我正在开发一个包含多个课程的 Spring 项目。现在该项目中的代码不符合标准,因为任何类中都没有定义 try catch 块。 我的 web.xml 中有以下映射
<error-page>
<exception-code>404</exception-type>
<location>/error.do</location>
</error-page>
/error.do
映射到控制器,从那里转发到通用错误视图。现在,是否可以获得我的异常的堆栈跟踪。我唯一的要求是在错误处理程序中获取异常详细信息,例如异常起源的位置,例如类名、方法名和异常消息,我认为这些信息将在堆栈跟踪中可用。
知道如何继续这个问题陈述吗?
是的,你可以做到这一点Spring提供了@ExceptionHandler注释。所以在你的控制器中编写一个方法:
@ExceptionHandler(YourException.class)
public ModelAndView handleYourException(YourException ex, HttpServletRequest request) {
mav = new ModelAndView();
mav.addObject("exception", exception);
mav.setViewName("YourException Page");
return mav;
}
希望你明白我的意思。