建立设计良好的异常体系和处理规范:(1)开篇杂谈

异常处理作为Java重要特性之一,相信每一个Java学习者都会学习到的,也被反复强调重要性。

但是对于初学者来说,对异常的理解一般都很泛泛,只有工作一段时间,经过代码的不断洗礼才能更深刻的认知。

笔者作为一个软件开发从业者,作为一个编程爱好者,作为一个一心想把事把产品做的更好的人,内心一直都要想着怎么才能做的更好。

对于异常的处理一直是笔者考虑的内容之一,关于异常处理笔者有一堆要吐槽的,也有许多事情要做的。

项目中对异常的使用经常比较随意,没有太多规范。

要求不能捕获Exception或RuntimeException精确捕获和处理异常。但是项目中经常会使用一些万金油型的异常,这些异常没有明确的职责范围,什么情况都可能被使用,只知道是个异常。

要求不要使用过于庞大的try块。但是项目中经常有整个接口的一大块处理逻辑都在一个try块中,当然这也可能是业务情况需要,但是确实觉得不太好。

要求不要滥用异常,只有真正的异常情况采用异常,能正常处理的不要使用异常。但是项目中经常会有使用异常做业务逻辑,而是先考虑怎样处理能避免产生异常。异常的处理是很耗性能的,虽然这点我还没体会到,但是还是要遵守的,并研究是怎样耗性能的。

要求在异常处理过程中,不可以忽略捕获的异常,不可以丢掉异常信息。虽然除非是需要忽略的情况,很少有忽略异常的情况,但是对于异常的处理还是见过不少丢失重要信息的情况。如丢掉原始异常信息导致无法发现异常真正的发生点,只能debug查错误原因;脱敏处理(遍历异常,对DataAccessException、SQLException、FileSystemException等异常中的敏感信息进行过滤处理)不正确导致信息丢失,无法区分真正的异常;一些公司自己实现的数据库访问框架,可能对于各种情况只抛出一种SQLException,很不利于使用。

过多的细节不在开篇进行讲解。

笔者其实目前对异常的学习也不够系统和深入,所以计划进行学习和总结,主要涉及以下几点:

1、复习总结异常处理的知识点

2、学习总结和梳理JDK中定义的异常体系

3、学习总结和梳理Spring中定义的异常体系

4、总结优秀的异常处理经验,以及怎样更好的在工作中使用异常

后续随着学习进度持续进行更新,作为一种学习的总结,和日后翻阅的个人笔记。

希望看到能给其他同学带来一些帮助,也希望有同学能提出宝贵的意见,诸君共勉,不断成长!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值