异常的定义主要考虑以下几个方面
- 通过异常,能快速知道是哪一个部分出现问题
- 通过异常,能快速知道,异常的严重程度
- 通过异常,能快速知道应该怎么处理,谁来处理
- 异常要和下游系统联动,和监控告警系统联动起来
BizException
作用:统一捕获
NoCheckException:
定义: 用户输入异常.
用户有可能会从这种分支进来,但是不能得到预期结果
- 用户输错密码.
- 用户填错信息.
- 用户没填信息.
处理:
- 前端:提示友好错误提示,由用户自行处理.
- 告警:不需要告警.
- 运维:无需介入,只需要记录,用于后续统计,如登陆成功率,输入错误率.
BusinessException
定义: 业务异常.
业务上的校验/处理异常,用户处理不了的情况,如:
- appid 等联调参数为空,用户处理不了
- 前端bug导致入参错误
- 配置错误
处理:
- 前端:提示参数错误,这个错误需要app/前端/运营/产品处理
- 告警:需要需要告警
- 运维:并且需要联系对接人修复处理
ResourceException
定义: 依赖资源异常
- 第三方服务请求相关异常.
- 第三方服务网络不通.
- 第三方服务远程调用超时.
处理:
- 前端:提示系统错误,这个错误需要后端处理.
- 告警:需要紧急告警.
- 运维:需要立即修复.