1.异常机制(当程序出现异常,程序安全的退出、处理完后继续执行的机制)
<1.>处理过程
Ⅰ.抛出异常:在执行一个方法时,如果发生异常,则这和方法生成代表该异常的一个对象,停止当前执行路径,并把异常交给JRE;
Ⅱ.捕获异常:JRE得到异常后,寻找相应的代码来处理该异常。JRE在方法的调用栈中查找,从生成异常的方法开始追溯,知道找到相应的异常处理代码为止;
<2.>异常分类
Throwable | |
Error | Exception |
... | CheckedException/UncheckedException |
注:error为错误,Exception为异常
<3.>Exception
Ⅰ.RuntimeException运行时异常
异常类型 | 说明 |
ArithmeticException | 算术异常 |
NullPointerException | 空指针异常 |
ClassCastException | 类型转换异常 |
ArrayIndexOutOfBoundsException | 数组下标越界异常 |
NumberFormatException | 数字格式异常 |
Ⅱ.CheckedException已检查异常
2.异常的处理
<1.>捕获异常
try{
语句1;
语句2;
}catch(Exception e){
}catch(Exception e){
}finally{
}
注:catch捕获异常时如果有继承关系,在顺序安排上需注意。越是顶层的类,越放在下 面。也就是先捕获子类异常再捕获父类异常;
finally主要用来存放无论是否发生异常都必须执行的语句,比如:关闭文件流、释放 数据库连接;