java try catch return 谁先执行问题,你能说明白吗
答案:6 悬赏:0 手机版
解决时间 2021-02-09 08:01
- 提问者网友:藍了天白赴美
- 2021-02-08 17:16
java try catch return 谁先执行问题,你能说明白吗
最佳答案
- 五星知识达人网友:走死在岁月里
- 2021-02-08 17:58
先执行try,直接在try和catch之间填充需要捕获异常的代码,之后如果有异常直接走catch分支,进行异常捕获。
如:
try{
//先执行
} catch (Exception e) {
System.out.println(e.getMessage()); //如果有异常则执行
}
return;//如果没有异常则执行
解释:以上代码中如果在”//需要捕获异常的代码“ 中有错误,会直接进行控制台输出。
如:
try{
//先执行
} catch (Exception e) {
System.out.println(e.getMessage()); //如果有异常则执行
}
return;//如果没有异常则执行
解释:以上代码中如果在”//需要捕获异常的代码“ 中有错误,会直接进行控制台输出。
全部回答
- 1楼网友:千夜
- 2021-02-09 00:30
你发了好几遍了.
- 2楼网友:刀戟声无边
- 2021-02-08 23:51
结果应该是1 2
- 3楼网友:山君与见山
- 2021-02-08 22:43
问那么多次,没意义,看另一个答案追问重复提交了
- 4楼网友:独钓一江月
- 2021-02-08 21:05
第一个问题:输出的是1,因为finally总是在try-catch执行之后执行,而且,一定是在return之前执行。第一个问题里应该是在return x;之前执行,但是,此时return的值已经固定了,就是说finally再执行也改变不了return的值,当然x的值成了2,但是return的值已经固定为1了。
第二个问题:输出的是2,因为finally一定是在return之前执行,本来程序return的值是1,即将要return了,但是有finally,所以finally先执行,所以return的值是2。
但是第二种情况不建议使用,就是说finally里不建议用return,因为这样finally就没有正常的执行完毕,这是不推荐的。
第二个问题:输出的是2,因为finally一定是在return之前执行,本来程序return的值是1,即将要return了,但是有finally,所以finally先执行,所以return的值是2。
但是第二种情况不建议使用,就是说finally里不建议用return,因为这样finally就没有正常的执行完毕,这是不推荐的。
- 5楼网友:野味小生
- 2021-02-08 19:25
问题1 输出结果是1
问题2 输出结果是2
finally中的语句是一定要执行的,这点是肯定的。finally中的语句执行在try之后。通常try是要和catch(不捕获异常try就没意义了)。一般的用法是:
try{
1想要执行的代码
}catch(Exception e){
2异常处理
}finally{
3最终执行的代码
}
1中代码没错执行的顺序就是1->3
1中代码有错执行的顺序是2->3
finally中的代码和return是没关系的,你可以把return写在任何地方。它只和try、catch有关。假如你把问题一种finally的代码写成:
finally{
return ++x;
}那么结果就是2了。
finally一定会执行,且在try或catch之后执行。
不知道这么说能明白吗~~~
不明白可以问,我再回答~~~
问题2 输出结果是2
finally中的语句是一定要执行的,这点是肯定的。finally中的语句执行在try之后。通常try是要和catch(不捕获异常try就没意义了)。一般的用法是:
try{
1想要执行的代码
}catch(Exception e){
2异常处理
}finally{
3最终执行的代码
}
1中代码没错执行的顺序就是1->3
1中代码有错执行的顺序是2->3
finally中的代码和return是没关系的,你可以把return写在任何地方。它只和try、catch有关。假如你把问题一种finally的代码写成:
finally{
return ++x;
}那么结果就是2了。
finally一定会执行,且在try或catch之后执行。
不知道这么说能明白吗~~~
不明白可以问,我再回答~~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯