您的位置:首页 > 其它

try catch finally 对于return特殊情况的处理

2016-09-08 21:29 369 查看
京东笔试问到try catch finally对于return的处理,自己做一下实验。

import org.junit.Test;
public class TestTry {

@Test
public void test()
{
System.out.println(test1());
System.out.println(test2());
}

public int test1()
{
try
{
return 1;
}
catch(Exception e)
{
throw e;
}
finally
{
System.out.println("我是第一个finally");
return 2;
}
}

public int test2()
{
try
{
String a=null;
char[] b=a.toCharArray();
}
catch(Exception e)
{
return 1;
}
finally
{
System.out.println("我是第二个finally");
return 2;
}
}
}

结果如下:

我是第一个finally
2
我是第二个finally
2

分析一下,就是try,catch中的return不会直接return,会执行完finally之后再return
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: