Effective Java之异常 总结

第57条 只针对异常的情况才使用异常
异常应该只用于异常的情况下 它们永远不应该用于正常的控制流
设计良好的API不应该强迫它的客户端为了正常的控制流而使用异常

第58条 对可恢复的情况使用受检异常 对编程错误使用运行时异常
如果期望调用者能够适当地恢复 对于这种情况就应该使用受检的异常
用运行时异常来表明编程错误
你实现的所有未受检的抛出结构都应该是RuntimeException的子类(直接的或者间接的)

第59条 避免不必要地使用受检的异常

第60条 优先使用标准的异常

第61条 抛出与抽象相对应的异常
更高层的实现应该捕获低层的异常 同时抛出可以按照高层抽象进行解释的异常 这种做法被称为异常转译
尽管异常转译与不加选择地从低层传递异常的做法相比有所改进 但是它也不能被滥用

第62条 每个方法抛出的异常都要有文档
始终要单独地声明受检的异常 并且利用Javadoc的@throws标记 准确地记录下抛出每个异常的条件
使用Javadoc的@throws标签记录下一个方法可能抛出的每个未受检异常 但是不要使用throws关键字将未受检的异常包含在方法的声明中
如果一个类中的许多方法出于同样的原因而抛出同一个异常 在该类的文档注释中对这个异常建立文档 这是可以接受的 而不是为每个方法单独建立文档

第63条 在细节消息中包含能捕获失败的信息
为了捕获失败 异常的细节信息应该包含所有 对该异常有贡献 的参数和域的值

第64条 努力使失败保持原子性
一般而言 失败的方法调用应该使对象保持在被调用之前的状态

第65条 不要忽略异常
空的catch块会使异常达不到应有的目的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值