springboot统一处理异常方法

@ControllerAdvice注解将作用在所有注解了@RequestMapping的控制器的方法上
@ExceptionHandler:用于全局处理控制器里的异常
所以在写项目的时候service层和mapper层都使用抛异常的方式,把异常都抛到controller层,然后来统一处理,这个类其实就相当于一个controller,也能重定向,转发页面等
这个是统一异常处理类,,@ControllerAdvice这个注解声明的表示统一异常处理,@ExceptionHandler(value = Exception.class)这个注解写在方法上表示,该方法处理哪个异常

1.先创建一个ExceptionController的controller,然后添加@ControllerAdvice的注解在类上

 2.在其他controller里面写两个测试方法

3.自定义的jsp页面

4.进行访问

  • 在@controllerAdvice类中,可以定义多个方法,分类处理异常,并且返回不同的页面;

  • 如果没有精确异常匹配的处理方法,默认走Excpetion异常处理方法,如果有就执行精确异常匹配处理的方法;

  • 异常处理类中,可以获取所有的异常都拿excepion来接收,也可以明确指定哪个异常,跟上下顺序无关,有明确指定的异常会找明确指定的,没有就找父类。

猜你喜欢

转载自blog.csdn.net/qq_43154385/article/details/85275202