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

本文详细介绍了阿里巴巴Java编程规范中的异常处理和安全规约,包括强制性和推荐性的规则。异常处理强调避免对RuntimeException进行catch,禁止异常用于流程控制,确保资源在finally块中正确关闭。安全规约涵盖了权限校验、数据脱敏、SQL注入防护、参数有效性验证等方面。此外,还讨论了MySQL数据库的设计规范,如命名约定、主键索引和数据类型选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:本文内容整理自《阿里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、捕获异常与抛异常必须完全匹配,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值