日期:2014-05-20 浏览次数:20911 次
package me.luger.base;
public class FinallyReturnTest {
public static void main(String[] args) {
tt();
}
// finally中的代码是必须要执行的,而且是在return前执行,除非碰到exit()。
static Return tt() {
try {
return new Return("try");
} catch (Exception e) {
e.printStackTrace();
} finally {
System.out.println("finally");
}
return new Return("outter");
}
}
class Return {
Return(String name) {
System.out.println("return " + name);
}
}
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
System.out.println(getString());
}
static String getString(){
try{
return "SUCCESS";
}catch(Exception e){
}finally{
System.out.println("Finally is executing");
return "ERROR";//如果这句放在finally之外呢?
}
}
}
------解决方案--------------------