一:异常类的结构层次
Java.lang包下把所有非正常情况分为Error(错误) 和 Exception(异常)。
Error:
Error类层次结构描述了Java运行时系统的内部错误和资源耗尽错误,应用程序不应该抛出此类型的对象。这种情况一般很少出现。
- VirtualMachineError(虚拟机错误)
- ThreadDeath(线程锁死)
Exception:
Exception类层次结构又分为两个分支 RuntimeException(运行时异常)和其他异常(代表:IOException )。
派生于RuntimeException的常见异常的有以下几个: - ClassCastException(类型转换异常)
- IndexOutOfBoundsException(下标越界异常)
- NullPointerException(空指针异常)
不派生与RuntimeException的常见异常有: - IOException(I /O流异常)
- 试图在文件尾部后面读取数据
- 试图打开一个不存在的文件
- 试图根据指定的字符串查找Class对象,而这个字符串表示的对象不存在。
免检异常和必检异常
error和RuntimeException以及他们的子类称为免检异常,其他称为必检异常。
异常处理
try{
//可能出现的异常
}catch(异常类型 变量名){
//异常处理方式一
}catch(异常类型 变量名1){
//处理异常的方式二
}
················
finally{
//将一定执行的代码放到此处
}