springMVC的异常处理机制最常使用的是HandlerExceptionResolver
定义一个单独的异常处理类,使用@ControllerAdvice注解标识
在xml中要有
<mvc:annotation-driven />
示例:
@ControllerAdvice
public class CommonExceptionHandler {
private static String ERROR="error";
@ExceptionHandler(value={ArithmeticException.class})
public ModelAndView handlerException(Exception ex){
ModelAndView mav=new ModelAndView();
mav.addObject("ex",ex);
mav.setViewName(ERROR);
return mav;
}
@ExceptionHandler(value={Exception.class})
public ModelAndView handlerException2(Exception ex){
ModelAndView mav=new ModelAndView();
mav.addObject("ex",ex);
mav.setViewName(ERROR);
return mav;
}
}
异常捕获机制:先匹配ArithmeticException再匹配Exception