Effective JAVA 中有关Exception的几条建议

这本书是从JDK源码注释阅读鼓捣来的,最近对exception产生了兴趣,看一下这位大牛都说了些什么?

(Item  39- 47 论述了有关exception的那点事 )

Item 39:Use exceptions only for exceptional conditions

只有在例外的情况下才能使用例外

Q:?

-----------------

Item 40:Use checked exceptions for recoverable conditions andrun-time exceptions for programming errors

对可恢复情况使用受检查例外,对程序错误使用运行时例外。

Q:怎样判断是可恢复情况以及程序错误?

--------------------------

Item 41:Avoid unnecessary use of checked exceptions

避免不必要的检查异常。

Q:什么是检查异常(checked exceptions)?

A:先来看一下异常机制的一个鸟瞰:

   例外的继承机制

异常类Exception又分为运行时异常(RuntimeException)和非运行时异常(上图没有标出),这两者有时候又称为检查异常和非检查异常。如果可以从一个异常中恢复过来,就声明该异常是检查异常(checked exception),故而有这么一说:检查异常一般是不定义的。反言之,如果不能从该例外中做任何有助于恢复的动作,该例外就是个未检查异常(unchecked exception),就是必须处理的异常,不处理程序就不能编译过去,比如IOException, SQLException这些用户自定义的异常。

--------------------------

Item 42:Favor the use of standard exceptions

习惯于使用标准例外

Q:有哪些所谓标准例外?

A:

---------

Item 43: Throw exceptions appropriate to the abstraction

将例外抛到适宜的抽象层次

Q:怎样控制错误链中例外抛出的长度?

---------

Item 44:Document all exceptions thrown by each method

对每个方法的例外抛出要给出文档

------------------------------

Item 45:Include failure-capture information in detail messages

在底层消息中把失效捕获信息包括进来。

Q:什么是失效捕获信息?

------------------------------

Item 46:Strive for </vetbfailure atomicity

Q:?

---

Item 47:Don't ignore exceptions

不要忽略例外

Q:如果例外是自己抛出的,应该不会忽略,如果是系统抛出的,怎么做才能不忽略呢?

转载于:https://www.cnblogs.com/parsifal/archive/2011/07/05/2098415.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值