黑马程序员技术交流社区

标题: 可不可以直接用Throwable的类捕获异常? [打印本页]

作者: 王江涛    时间: 2014-3-29 14:37
标题: 可不可以直接用Throwable的类捕获异常?
本帖最后由 王江涛 于 2014-4-13 20:16 编辑

既然可以使用Exception捕获异常,那直接使用Throwable的类不是更好么?
作者: 黄晓鑫    时间: 2014-3-29 14:44
通常分析异常这一块,要分析的底层点,因为一个方法可能出现很多的异常,而我们要对异常进行相应的处理,就要尽量的用异常的子类对问题进行分别的处理,为什么不用Throwable呢?因为有写异常是不会处理的,那你还对异常进行处理干嘛,就像你有一个Person类,但是去创建这个Person类的实例对象的时候,这个Person类根本不存在,那你还去处理他干嘛?
作者: 苏伯亚    时间: 2014-3-29 14:49
所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的是两个把异常分成两个不同分支的子类。一个分支是Exception。该类用于用户程序可能捕捉的异常情况。它也是你可以用来创建你自己用户异常类型子类的类。另一类分支由Error作为顶层,Error定义了在通常环境下不希望被程序捕获的异常。Error类型的异常用于Java运行时系统来显示与运行时系统本身有关的错误。但是它们通常是灾难性的致命错误,不是你的程序可以控制的。这样区分分别应用不是更方便吗?
作者: 汗血黑马    时间: 2014-3-30 21:59
楼上已经充分说明了区分关系,我要补充的是一点Java面向对象的思想。用你说的例子,Threadable就像司令官,
下面有两个军长,Exception和Erron;他们的分工各不相同,然而又有必然的联系。Java的面向对象思想就是,谁有功能方法就可以把它封装成对象,然后通过关系来调用它们提供的功能,这样既分工了也合作了,就让事情方便简单了。如果说你让司令一个人去打仗,你可以想象一下后果是什么?这是我的理解,希望对你有用。
作者: 付江涛    时间: 2014-3-30 22:34
我想说,咱们的名字差不多。
作者: 小班。    时间: 2014-3-31 09:08
学习了。。。
作者: 王江涛    时间: 2014-4-6 00:17
苏伯亚 发表于 2014-3-29 14:49
所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的 ...

回答的很详细,非常感谢
作者: 王江涛    时间: 2014-4-6 00:19
付江涛 发表于 2014-3-30 22:34
我想说,咱们的名字差不多。

果然,三分之二都一样




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2