public class Test {
public static void main(String[] args) {
int i = ma();
System.out.println("i="+i);
}
public static int ma(){
int i = 5;
try{
System.out.println("try"+i/0);
return i;
}catch (Exception e) {
System.out.println("catch"+i);
return i;
}finally{
++i;
System.out.println("finally"+i);
//return i;
}
}
public static void main(String[] args) {
int i = ma();
System.out.println("i="+i);
}
public static int ma(){
int i = 5;
try{
System.out.println("try"+i/0);
return i;
}catch (Exception e) {
System.out.println("catch"+i);
return i;
}finally{
++i;
System.out.println("finally"+i);
//return i;
}
}
}
说明:
不出现异常情况:
执行顺序: try ----- finally
出现异常情况:
执行顺序:try -----catch ----finally
try中有返回语句,,没有异常:
执行顺序: try -----return ----finally------return
try中有返回语句,有异常:
执行 顺序: try----catch -----finally----return
执行过程,可以通过Debug进行调试,查看执行过程。
本文通过一个具体的Java程序示例,详细解析了try-catch-finally块的执行顺序及返回值处理方式,在不同情况下(出现异常与否)try-catch-finally的具体执行流程。
2161

被折叠的 条评论
为什么被折叠?



