try{
//code A
}catch(Exception e){
//code B
e.printStackTrace();
}finally{
//code C
}如果code A抛异常,code B就会执行;如果code A不抛异常,code B就不会执行。
那finally的code C呢?code A抛不抛异常都要执行的么?
如果答案是肯定的话,如果不抛异常,先执行code A再执行code C
可是如果抛异常,是先执行code B还是code C?
//code A
}catch(Exception e){
//code B
e.printStackTrace();
}finally{
//code C
}如果code A抛异常,code B就会执行;如果code A不抛异常,code B就不会执行。
那finally的code C呢?code A抛不抛异常都要执行的么?
如果答案是肯定的话,如果不抛异常,先执行code A再执行code C
可是如果抛异常,是先执行code B还是code C?
解决方案 »
- JAVA的框架
- 再再论构造函数返回值问题.
- 如何使双击表格的单元格后不出现编辑框
- 谁有<<最新java2核心技术卷II:高级特性(V1,3)5E>>的源代码啊
- 新人请教一个划线的问题
- 一个classpath的入门问题!!!
- 为什么jcreator 可以运行但是 明两行却不可以?????郁闷中
- JAVA socket编程 汉字传送问题!
- [IBM][JDBC Driver] CLI0620E IOException, error reading from input stream. SQLSTATE=428A1
- 为啥这里线程始终不释放锁? 求指点
- 关于AWT的问题
- jstl 中c:when的用法
//throw new Exception(); 注释取消和加上 就是2中情况了
System.out.println("a");
return "A";
}catch(Exception e){
System.out.println("b");
return "B";
}finally{
System.out.println("c");
}
所以这个try-catch-finally编译后类似于下面这样:try{
//code A
//code C
}catch(Exception e){
//code B
e.printStackTrace();
//code C
}
try{
//code A
return value;
}catch(Exception e){
//code B
e.printStackTrace();
}finally{
//code C
}