Java 核心读书笔记 第11章

1. 异常

        用户希望在出现错误时,程序能够采用一些理智的行为。 如果由于出现错误而使得某些操作无法完成,程序应该:  返回到一种安全状态,并能够进行一些其他的命令; 或者:允许用于保存所有操作的结果,并以适当的方式终止程序。

       异常处理的任务:将控制权从错误产生的地方转移给能够处理这种情况的错误处理器。

     异常分类:   Throwable: Error和Exception

  • Error:描述饿了Java运行时系统的内部错误和资源耗尽错误。应用程序不应该跑出这种类型的对象。如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全的退出。
  • Exception:    a. RuntimeException:由于程序错误而导致的异常。  (Runtime异常包括:错误的异常转化; 数组越界访问; 访问空指针)

                             b.其他Exception: 程序本身没有问题,但由于像I/O错误这类问题导致的异常属于其他异常。 (其他Exception:试图在文件尾部后面读取数据; 试图打

                                 开一个不存在的文件;  试图根据给定的字符串查找Class对象,而这个字符串表示的类不存在。)

     如果程序出现RuntimeException异常,那么就一定是程序的问题。实际上所有的Exception都出现在运行时

     未检查异常:Errot和RuntimeException   已检查异常:其他Exception

     一个方法必须声明所有可能抛出的已检查异常,而未检查异常要么不可控制(Error),要么就应该避免发生。如果方法没有声明所有可能发生的已检查异常。编译器就会给出一个错误消息。当然,除了声明异常之外还可以捕获异常。这样会使异常不被抛到方法之外,也不需要throws规范。

posted @ 2014-11-10 11:14  cjt1991  阅读(127)  评论(0编辑  收藏  举报