目录
1.异常
1.1异常分类
划分exception两个分支的规则是:
- 由程序错误导致的异常属于RuntimeException;
- 程序本身无问题,如IO错误这种问题导致的异常属于其他异常。
派生于runtimeException的异常包括:
- 错误类型的转换;
- 数组越界异常;
- 访问空指针;
不是派生于runtimeException的异常包括:
- 试图在文件尾部后面读取数据;
- 试图打开一个不存在的文件;
- 试图根据给定的字符串查找class对象,而这个字符串表示的类不存在;
Java中将error和runtimeException类的异常统称为未检查异常,其他异常称为已检查异常。
1.2声明已检查异常
不需要声明Java内部的异常,即从error层得到的错误;由于任何代码都有抛出异常的潜能,因此也不用声明从runtimeException继承的未检查异常;总之,在一个方法中,必须声明所有已检查异常;
1.3抛出异常
对于一个已经存在的异常类,抛出步骤:
- 找到一个合适的异常类;
- 创建一个这个类的对象;
- 将对象抛出;
EOFException e=new EOFException();//创建EOFException异常类的对象,抛出异常
throw e;
1.4创建异常类
如果任何标准类都无法描述问题,可以自行创建异常类,定义一个派生于exception的类或者派生于它的子类的类,定义的类需要包含两个构造器,一个默认构造器,一个带有描述问题的构造器。
1.5捕获异常
通常&#