开发中是否所有异常都需要抛出?

开发中遇到异常很多同学一般是进行抛出处理.那么我们程序开发中的异常是否都需要抛出呢?大家请思考一下这个问题.

一般我们会有个困惑,一般异常不都是抛出处理,再最外层捕获或者由AOP框架捕获统一转换为自定义异常后返回前端.这样处理是一个一般的方法.但在互联网场景越来越复杂的情况下,这样处理方法就不是特别的适用了.

在整个流程中,一些对这个流程并不起关键做用的业务发生异常,并不一定需要抛出,只需要记录次异常.让流程继续走下去,而不是走向失败! 例如在用户登录过程中,需要向风控系统推送用户登录的记录.假如用户信息验证和其他一些关键验证并没有出问题,由于风控系统在进行发布,服务暂时不可用,导致了服务的依赖异常.那么这里要不要判定用户登录失败呢?显然可以更加灵活的处理此异常!这里只需要记录异常,或者在异常处理中将用户登录的动作放入消息队列中,异步话处理这个动作.后续再排查原因.

对于业务主流程的异常,当前流程不能继续流转,这类异常必须抛出!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值