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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓海涛 中级黑马   /  2012-4-8 15:16  /  1345 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

既然可以使用Exception方便地捕获所有异常,那么以后再程序中直接使用Throwable的类不是更好吗?

2 个回复

正序浏览
楼主哥们,首先Throwable类是抛不出去的,能抛的只有Exception和它的子类,另外
遇到异常时,程序员要针对各种异常作出相对应的catch处理,直接使用超类会让代码的
健壮性大大下降的!
回复 使用道具 举报
Java语言要求java程序中所有抛出(throw)的异常都必须是从Throwable派生而来。当然,实际的Java编程中,由于JDK平台已经为我们设计好了非常丰富和完整的异常对象分类模型。因此,java程序员一般是不需要再重新定义自己的异常对象。而且即便是需要扩展自定义的异常对象,也往往会从Exception派生而来。所以,对于java程序员而言,它一般只需要在它的顶级函数中catch(Exception ex)就可以捕获出所有的异常对象。 所有异常对象的根基类是 Throwable ,Throwable从Object直接继承而来(这是java系统所强制要求的),并且它实现了 Serializable接口(这为所有的异常对象都能够轻松跨越Java组件系统做好了最充分的物质准备)。从Throwable直接派生出的异常类有Exception和Error 。Exception是java程序员所最熟悉的,它一般代表了真正实际意义上的异常对象的根基类。也即是说, Exception 和从它派生而来的所有异常都是应用程序能够catch到的,并且可以进行异常错误恢复处理的异常类型。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马