阿里java编程规范之异常处理、安全规约、MySql数据库

注:本文内容整理自《阿里java编码规范》,除“编程规约”外的其它规则。

异常处理

强制

1、Java类库中可以通过预检查方式规避的 RuntimeException不应该通过catch的方式来处理,如: IndexOutOfBoundsException,NullPointerException 等。说明:无法通过预检查的异常不在此列,比如,在解析字符串形式的数字时,可能存在数字格式错误,不得不通过 catch NumberFomatException 来实现。

2、异常不要用来做流程控制、条件控制。 说明:异常设计的初衷是解决程序运行中的各种意外情况,况且异常的处理效率比条件判断方式要低很多。

3、catch时请分清稳定代码和非稳定代码。稳定代码指的是无论如何都不会出错的代码。对于非稳定代码的 catch,尽可能在进行异常类型的区分后,再做对应的异常处理。 说明:对大段代码进行try-catch,将使程序无法根据不同的异常做出正确的应激反应,也不利于定位问题。

4、捕获异常是为了处理它,不要捕获了却什么都不处 理而抛弃之,如果不想处理它,请将该异常抛给它的调用者。 最外层的业务使用者必须处理异常,将其转化为用户可以理解的内容。

5、有try块放到了事务代码中,catch异常后,如果需要回滚事务,一定要注意rollback事务。

6、 finally块必须对资源对象、流对象进行关闭操作, 如果有异常也要做try-catch操作。

7、不能在finally块中使用return。说明:当finally块中的return返回后方法结束执行,不会再执行try块中的return语句。

8、捕获异常与抛异常必须完全匹配,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值