您的位置:首页 > 其它

是Exception还是Throwable表示所有异常的基类

2012-11-28 17:12 253 查看
收藏 是Exception还是Throwable表示所有异常的基类 [问题点数:0分]

flyingice

ygxdha

等级:

结帖率:98.61%

楼主 发表于: 2003-02-09 05:44:35

书上讲,捕捉所有的异常用

catch(Exception e)

{

}

但Exception是从Throwable派生出来的,而且Throwable也可以抛出。

我今天就遇到一个 throw new Throwable() 语句。

这种情况使用Exception就捕获不了。。

所以我觉得把Throwable作为所以异常的基类比较好。。

大家有什么看法?

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP 回复次数:8

leonzhao

灯泡

等级:

#1 得分:0 回复于: 2003-02-09 06:55:59

Throwable分Exception和Error,应用一般应该捕捉Exception。因为如果Error被抛出,证明是JVM或系统的致命错误,不是“异常”。

至于throw new Throwable()如果没有很好的解释,写这句话的人一定是变态……

第三、四期“Hadoop技术赢门票”活动:聚焦HIVE与HDFS对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP

gundam_king

东方不败

等级:

#2 得分:0 回复于: 2003-02-09 09:04:16

所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。另一类分支由Error作为顶层,Error定义了在通常环境下不希望被程序捕获的异常。Error类型的异常用于Java运行时系统来显示与运行时系统本身有关的错误。但是它们通常是灾难性的致命错误,不是你的程序可以控制的。

【免费】解读海外市场营销奥秘 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP

Mailbomb

网络咖啡

等级:

#3 得分:0 回复于: 2003-02-09 10:17:49

up

谁将现身微软TechEd 2012中国技术大会?对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP

hayai

生命树

等级:

#4 得分:0 回复于: 2003-02-09 11:10:50

同意灯泡关于变态的品德评语,在我的实践中,如果可以用RuntimeException来包装一个非RuntimeException可以让程序变得非常好写。事实上,我们有自己写的DException extends RuntimeException which可以包装一个Throwable instance.

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 | TOP

takecare

大厅

等级:

#5 得分:0 回复于: 2003-02-09 11:29:06

说得好!向你们学习!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐