Jafe Lee

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  49 随笔 :: 0 文章 :: 24 评论 :: 0 Trackbacks
1、Java中的异常层次结构简化示意图:
exception.JPG
说明:上图只是简化图,并不表示Exception只有两个子类IOException和RuntimeException

2、Java语言规范将派生于RuntimeException类或Error类的所有异常称为“未检查(unchecked)”异常,其它检查称为“已检查(checked)异常”
  • Error:描述了Java运行时系统的内部错误和资源耗尽错误,应用程序不应该抛出这种类型的对象。
  • RuntimeException : 由于你的程序错误(例如错误的类型转换、数组越界访问)等引起的异常
  • 不属于RuntimeException的异常:曾经能够正确运行而由于某些情况(例如,I/O错误)而导致的异常
3、If it is a RuntimeException, it was your fault.

4、一个方法必须声明所有可能抛出的checked 异常,而unchecked异常要么不可控制(Error),要么就应该避免它们的发生(RuntiomException)。如果方法没有声明所有可能发生的checked异常,编译器就会给出一个错误信息。除了声明异常之外也可以捕获异常。这样会使异常不被抛到方法之外,也不需要throws规范。

5、如果在子类中覆盖了超类的一个方法,那么,子类方法中声明的checked异常不能超过超类方法中声明的异常范围,。特别是,如果超类方法没有抛出任何checked异常,那么子类方法也不能抛出任何checked异常。

6、如果类中的某个方法声明要抛出的异常是某个类的实例,那么,它既可以抛出一个该类的异常,也可以抛出该类的任意一个子类的异常。

7、try语句可以只有finally字句而没有catch字句。当抛出的异常必须要有另一个catch语句捕获。

posted on 2007-08-20 15:57 Jafe Lee 阅读(191) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: