1. 异常
用户希望在出现错误时,程序能够采用一些理智的行为。 如果由于出现错误而使得某些操作无法完成,程序应该: 返回到一种安全状态,并能够进行一些其他的命令; 或者:允许用于保存所有操作的结果,并以适当的方式终止程序。
异常处理的任务:将控制权从错误产生的地方转移给能够处理这种情况的错误处理器。
异常分类: Throwable: Error和Exception
- Error:描述饿了Java运行时系统的内部错误和资源耗尽错误。应用程序不应该跑出这种类型的对象。如果出现了这样的内部错误,除了通告给用户,并尽力使程序安全的退出。
- Exception: a. RuntimeException:由于程序错误而导致的异常。 (Runtime异常包括:错误的异常转化; 数组越界访问; 访问空指针)
b.其他Exception: 程序本身没有问题,但由于像I/O错误这类问题导致的异常属于其他异常。 (其他Exception:试图在文件尾部后面读取数据; 试图打
开一个不存在的文件; 试图根据给定的字符串查找Class对象,而这个字符串表示的类不存在。)
如果程序出现RuntimeException异常,那么就一定是程序的问题。实际上所有的Exception都出现在运行时
未检查异常:Errot和RuntimeException 已检查异常:其他Exception
一个方法必须声明所有可能抛出的已检查异常,而未检查异常要么不可控制(Error),要么就应该避免发生。如果方法没有声明所有可能发生的已检查异常。编译器就会给出一个错误消息。当然,除了声明异常之外还可以捕获异常。这样会使异常不被抛到方法之外,也不需要throws规范。