介绍

在代码中如果遇到了问题,无法继续执行业务,可通过自定义异常来打断程序执行并且给前端返回信息.

参数异常 ParamException

比如根据ID去查询DB,但是查询出来是个null,id无效, 可抛出此异常.

  1. UcenterFrontUserVO user = frontUserService.selectById(userId);
  2. if (user == null) {
  3. throw new ParamException("用户信息丢失:" + userId);
  4. }

ParamException 对应业务状态码:400

无权限异常NotPremissionException

比如我要看一条数据,但是我又没这条数据的数据权限可抛出.throw new NotPremissionException(); 对应业务状态码:403

自定义业务错误码异常: BusinessException

  1. throw new BusinessException("解密错误",409)

自定义http状态码异常: HttpException

比如我们要给对方返回一个http状态码为500的异常 throw new HttpException(“系统错误”,500)

统一异常拦截器:

类名:ControllerExceptionAdvice,传送门: https://gitee.com/fhs-opensource/fhs-framework/blob/v2.x/fhs_extends/fhs_exception/src/main/java/com/fhs/core/exception/advice/ControllerExceptionAdvice.java