全局异常处理
在Spring Boot中,我们一般使用 @ControllerAdvice和@ExceptionHandler处理全局异常
@ControllerAdvice是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能:
1、全局异常处理
2、全局数据绑定
3、全局数据预处理
下面主要介绍使用@ControllerAdvice处理全局异常
异常处理类
我们只需要在类上加上@ControllerAdvice注解这个类就成为了全局异常处理类,当然你也可以通过 assignableTypes 指定特定的 Controller 类,让异常处理类只处理特定类抛出的异常。不过,现在一般都是通过ExceptionHandler 来指定异常类型,而不是通过assignableTypes 来指定类
@ControllerAdvice
@ResponseBody
public class TestExceptionHandler {
//@ExceptionHandler 注解用来指明异常的处理类型,下面指定为 NullpointerException,那么有NullpointerException异常就会进来该方法
@ExceptionHandler(value = NullpointerException.class)
public void exceptionHandler(Exception e) {
System.out.println("NullpointerException");
}
}