【SpringMVC】@ControllerAdvice不起作用,不能捕获异常的解决方法
程序员文章站
2022-07-14 11:26:45
...
当遇到@ControllerAdvice不起作用,不能捕获异常的解决方法时,可以考虑
1.springmvc.xml是否有<mvc:annotation-driven />,<mvc:annotation-driven/> ,这个相当于注册了@ControllerAdvice的使用方式;
2.可以考虑是否是拦截器的作用导致捕获异常无法正常使用。尝试先屏蔽拦截器,我就是通过这个方法解决的。
下面是成功的代码:
package com.feng.handler;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.servlet.ModelAndView;
@ControllerAdvice
public class MyExceptionHandler {//不是控制器,仅仅是处理异常的类
@ExceptionHandler({Exception.class})
public ModelAndView handlerArithmeticException(Exception e) {
ModelAndView mv = new ModelAndView("error");//要跳转的页面
System.out.println("我可以捕获任何类的异常");
// System.out.println(e);
mv.addObject("er", e);//要传的参数的key
return mv;
}
}
上一篇: DevOps