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

  收藏 是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
说得好!向你们学习!

你可能感兴趣的:(Java笔记)