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
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
相关文章推荐
- 有return的情况下try catch finally的执行顺序
- try-catch-finally语句中有return语句时的执行情况
- try-catch-finally中return的执行情况
- Java异常处理机制以及try-catch-finally-return执行顺序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- try-catch-finally中return的执行情况
- 有return的情况下try catch finally的执行顺序
- try-catch-finally中return的执行情况
- 有return的情况下try catch finally的执行顺序
- 有return的情况下try catch finally的执行顺序(最有说服力的总结)
- try-catch-finally中return的执行情况
- Java异常处理机制以及try-catch-finally-return执行顺序
- try catch finally语块中有return语句的各种情况
- Java中try catch finally语句中含有return语句的执行情况(总结版)
- try-catch-finally中return的执行情况
- try-catch-finally中return的执行情况
- Java中try catch finally语句中含有return语句的执行情况
- try-catch-finally中return的执行情况分析
- try-catch-finally中return的执行情况
- 有return的情况下try catch finally的执行顺序