您的位置:首页 > 其它

try catch finally 的执行顺序

2012-10-11 10:33 169 查看
java中try{}块中有return ,而finally{}中也有return块时,try中的return是不会执行的,但是finally中的return是在finally执行;若果finally中没有return时,try{}块中的return会执行,但是该return块是在finally{}后执行
package csdn;

public class Try_catch {

/**
* @param args
*/
public static void main(String[] args) {
String str = print();
System.out.println(str);

}

@SuppressWarnings("finally")
public static String print(){
try {
System.out.println("执行try。。。。");
return "try";
} catch (Exception e) {
e.printStackTrace();
System.out.println("执行catch。。。。");
}finally{
System.out.println("执行finally。。。");
return "finally";
}
//return null;
}

}

执行的结果是:

执行try。。。。

执行finally。。。

finally

如果将finally{}块中的return给注释掉,执行的结果是

执行try。。。。

执行finally。。。

try
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: