SpringBoot全局异常处理

前言

这是我在实习阶段浏览同事代码所掌握到的Springboot全局异常处理的方法

AppErrorCode(异常对象)

这里将AppErrorCode定义为接口
SpringBoot全局异常处理
1.接口中的用static修饰的方法和用default的方法是可以实现的
2.关注到这里面的of方法,该方法重写了接口的两个方法
3. 这里的error方法就是外部执行异常处理的统一入口,之所以要将统一接口放在异常变量类里而不是使用下面的异常处理类中的方法,我觉得是为了减少外部代码吧。

AppException(异常处理类)

SpringBoot全局异常处理
1.这里的@Builder注解加在全参构造函数是因为该类继承了父类,这样做可以直接设置父类的变量
2.关注到这里的of方法,这个方法再AppErrorCode中error函数有用到,作用见上面第三点,通过builder方法设置参数,返回AppExceptionBuilder对象。

使用方法

例子
SpringBoot全局异常处理
1.这里执行of方法就是返回重写了接口方法的对象,实现了类似于构造函数的方法,传入两个参数,再执行error方法返回AppException
2.如果是直接使用AppException中的方法作为入口,如下(代码量多了):
SpringBoot全局异常处理