黑马程序员技术交流社区
标题:
在异常语句中的return
[打印本页]
作者:
戴进飘
时间:
2012-9-26 15:36
标题:
在异常语句中的return
本帖最后由 屈俊材 于 2012-9-26 18:46 编辑
<P> public static int fangFa()
{
int i = 12;</P>
<P> try
{
i = 20;
System.out.println("try:"+i);
return i;
}
catch (Exception e)
{
System.out.println(e);
// return i;
}
finally
{
i = 40;
System.out.println("finally:"+i);
}
return i;
}</P>
复制代码
catch中的return 语句,和最后的return 不能同时使用,这是为什么呢?
作者:
郭阳
时间:
2012-9-26 16:12
因为他俩的作用在你的函数中是一样的
如果try中无异常,则在try中结束函数。(finally是必执行的代码不作详述)*****************************************************catch中的return或者最后的return有一个执行不到
如果try中发生异常,try中return执行不到,进入catch,catch内有return的话则在catch内结束函数,没有的话则到最后的return结束**********catch中的return或者最后的return有一个执行不到
作者:
李兆宁
时间:
2012-9-26 16:21
运行到return语句,函数就结束了:如果存在异常,则在catch中结束;不存在异常则在后面的return结束函数。二者只能选择一个执行。
作者:
曾浩
时间:
2012-9-26 16:27
1.当执行一个方法时遇到了return 则这个方法 就执行结束了 不会再往下面执行了 也就是说return下面的语句不会执行
在你的代码中 当执行到第9行时整个方法就执行结束了。
作者:
杨卫腾
时间:
2012-9-26 16:29
LZ 其实是这样的
如果try中无异常,则在try中的所有语句都会读到直到结束为止。
catch中的return或者最后的return有一个执行不到
如果try代码块中发生了异常,try中的return语句是执行不到的,
程序会跳转进入catch代码块中,catch内的return语句执行到程序会返回并结束。
外边的那个return语句就有可能执行不到了,所以是有一个return语句执行不到。
作者:
戴进飘
时间:
2012-9-26 17:45
看了你们的回复,已经明白得差不多了。谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2