A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王江涛 中级黑马   /  2014-3-29 14:37  /  3069 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王江涛 于 2014-4-13 20:16 编辑

既然可以使用Exception捕获异常,那直接使用Throwable的类不是更好么?

7 个回复

倒序浏览
通常分析异常这一块,要分析的底层点,因为一个方法可能出现很多的异常,而我们要对异常进行相应的处理,就要尽量的用异常的子类对问题进行分别的处理,为什么不用Throwable呢?因为有写异常是不会处理的,那你还对异常进行处理干嘛,就像你有一个Person类,但是去创建这个Person类的实例对象的时候,这个Person类根本不存在,那你还去处理他干嘛?

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

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

评分

参与人数 1技术分 +1 收起 理由
菜小徐 + 1

查看全部评分

回复 使用道具 举报
楼上已经充分说明了区分关系,我要补充的是一点Java面向对象的思想。用你说的例子,Threadable就像司令官,
下面有两个军长,Exception和Erron;他们的分工各不相同,然而又有必然的联系。Java的面向对象思想就是,谁有功能方法就可以把它封装成对象,然后通过关系来调用它们提供的功能,这样既分工了也合作了,就让事情方便简单了。如果说你让司令一个人去打仗,你可以想象一下后果是什么?这是我的理解,希望对你有用。
回复 使用道具 举报
付江涛 来自手机 金牌黑马 2014-3-30 22:34:32
报纸
我想说,咱们的名字差不多。
回复 使用道具 举报
学习了。。。
回复 使用道具 举报
苏伯亚 发表于 2014-3-29 14:49
所有异常类型都是内置类Throwable的子类。因此,Throwable在异常类层次结构的顶层。紧接着Throwable下面的 ...

回答的很详细,非常感谢
回复 使用道具 举报
付江涛 发表于 2014-3-30 22:34
我想说,咱们的名字差不多。

果然,三分之二都一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马