【问题标题】:How to handle generic Exception in spring如何在春季处理通用异常
【发布时间】:2013-03-15 10:53:12
【问题描述】:

我正在从事一个包含多个课程的春季项目。现在该项目中的代码不符合标准,因此在任何类中都没有定义 try catch 块。 我的 web.xml 中有以下映射

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

/error.do 被映射到一个控制器,从那里它转发到一个通用错误视图。现在,是否有可能获得我的异常的堆栈跟踪。我唯一的要求是在该错误处理程序中获取异常详细信息,例如 - 异常起源如类名、方法名和异常消息,我认为这些信息将在堆栈跟踪中可用。 知道如何处理这个问题陈述吗?

【问题讨论】:

  • 上面为“404 not found”错误定义了一个错误页面。当收到对未知资源的请求时会发生 404。当 Spring 控制器抛出异常时不会。
  • 但即使当我没有捕捉到一般异常时,它也会转到这个控制器。这不仅仅处理 404 错误。

标签: spring-mvc exception-handling error-handling


【解决方案1】:

是的,你可以做到 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;
}

希望你明白我的意思。

【讨论】:

    猜你喜欢
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    相关资源
    最近更新 更多