java try catch finally 的处理测试

来源:互联网 发布:mysql 取消外键约束 编辑:程序博客网 时间:2024/06/07 04:49
通过运行测试代码,查看打印信息,可以了解运行的流程:
代码如下:

public class Finally {

/**
 * @param args
 */
public static void main(String[] args) {
for(int i = 1; i< 5; i++){
System.out.println("------------------------"+i);
try{
nl(i);
}catch(Exception e){
System.out.println("main e");
}
System.out.println("main");
System.out.println("------------------------"+i);
}

}
static void nl(int i){
try{
if(i == 4){
System.out.println("第四种情况,发生算数运算意外");
throw new ArithmeticException();
}
if(i == 3){
System.out.println("第三种情况,发生数字格式意外");
throw new NumberFormatException();
}
if(i == 2){
System.out.println("第二种情况,发生数组下标越界意外");
throw new ArrayIndexOutOfBoundsException();
}
System.out.println("第一种情况,没有发生意外");
}catch(ArithmeticException e){
System.out.println("意外捕捉 ArithmeticException");
}catch(NumberFormatException e){
System.out.println("意外捕捉 NumberFormatException");
}finally{
System.out.println("finally");
}
System.out.println("finally 后面的句子");
}

}


打印结果:
------------------------1
第一种情况,没有发生意外
finally
finally 后面的句子
main
------------------------1
------------------------2
第二种情况,发生数组下标越界意外
finally
main e
main
------------------------2
------------------------3
第三种情况,发生数字格式意外
意外捕捉 NumberFormatException
finally
finally 后面的句子
main
------------------------3
------------------------4
第四种情况,发生算数运算意外
意外捕捉 ArithmeticException
finally
finally 后面的句子
main
------------------------4

相信通过打印的信息可以了解到,try{}catch(){}finally{}的处理流程。