系统使用了HandlerExceptionResolver 来实现异常的统一处理,最后发现有的控制器抛出的异常拦截不到,网上说把bean id改名下,最后也是无解,可恨的是有的控制器可以统一处理有的不能统一处理,最后用的@ControllerAdvice统一处理异常搞定。
@ControllerAdvice public class ControllerExceptionAdvice { /** log */ private static final Logger LOG = Logger.getLogger(ControllerExceptionAdvice.class); @ExceptionHandler(Exception.class) public ModelAndView handlerMaxUploadSizeExceededException(Exception ex) { if (ex != null) { return resolveException(ex); } return new ModelAndView("error").addObject("msg", "未知错误:" + ex); }
}