首页新闻找找看学习计划

catch 异常 后抛出, 之后的Return xx 还能执行到吗?

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-27 16:20

代码假设如下:

public int Ineedi(){
int i=0;
try
{
  i=1;
}
catch(Exception e)
{
  throw e;
}
finally
{
  i=2;
}
return i;
}

当try 部分有异常的时候, 程序是抛出异常e 后直接退出 还是正常返回i=2?

落星的主页 落星 | 初学一级 | 园豆:97
提问于:2013-11-27 15:57
< >
分享
最佳答案
0

throw e; 退出

收获园豆:10
````` | 专家六级 |园豆:14268 | 2013-11-27 16:18

自己写了段试了试。。还是感谢了。。

落星 | 园豆:97 (初学一级) | 2013-11-27 16:21
其他回答(1)
0

抛出后不再执行后面的finally.. return如果代替throw e 的话,能进finally ,但是最后的returni 不执行, 总之不能在catch中使用return、 throw语句(如果想要得到最后的return i )的话。。

落星 | 园豆:97 (初学一级) | 2013-11-27 16:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册