【发布时间】:2011-02-07 16:10:08
【问题描述】:
我希望实现一个“ExceptionController”来处理在执行我的其他控制器方法时引发的异常。我没有在我的应用程序上下文中指定任何 HandlerExceptionResolver,因此根据 API documentation 应该启动 AnnotationMethodHandlerExceptionResolver。我在源代码中对此进行了验证。那么为什么以下方法不起作用?
@Controller
public class ExceptionController {
@ExceptionHandler(NullPointerException.class)
public ModelAndView handleNullPointerException(NullPointerException ex) {
// Do some stuff
log.error(logging stuff)
return myModelAndView;
}
}
@Controller
public class AnotherController {
@RequestMapping(value="/nullpointerpath")
public String throwNullPointer() {
throw new NullPointerException();
}
}
我在调试日志中看到三个默认异常处理程序被要求处理异常,但什么也没做,我看到“DispatcherServlet - 无法完成请求”。其次是显示堆栈跟踪和 500 内部错误的用户。
【问题讨论】:
标签: java spring-mvc exception-handling