欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【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;
	}
}