很简单的try catch finally代码,但返回值搞不懂
时间:2011-08-24
来源:互联网
public class Test {
public static void main(String[] args) {
int b = getValue();
System.out.println(b);
}
private static int getValue(){
int a =0;
try{
a = 10;
return a;
}catch (Exception ex){
}finally{
a=100;
}
return a;
}
}
输出的返回值b是什么?
为什么呢?
没想明白。
public static void main(String[] args) {
int b = getValue();
System.out.println(b);
}
private static int getValue(){
int a =0;
try{
a = 10;
return a;
}catch (Exception ex){
}finally{
a=100;
}
return a;
}
}
输出的返回值b是什么?
为什么呢?
没想明白。
作者: tianshi1017 发布时间: 2011-08-24
100
作者: jianglang_a 发布时间: 2011-08-24
finally是一定会执行的在返回前
作者: jianglang_a 发布时间: 2011-08-24
自己了解一下try catch finally的执行顺序吧。
原则是先执行return 再finally 可以自己debug一下啊
原则是先执行return 再finally 可以自己debug一下啊
作者: heweiAndPippo 发布时间: 2011-08-24
当执行到getValue()函数的时候,a=0,接下来执行try里面的语句,a=10,return a,这时a==10,因为没有异常,所以不执行catch语句,至于为什么没执行finally是因为有return a这句话,已经跳出函数了,所以最后等于10.OK?
作者: yangshuai19880401 发布时间: 2011-08-24
finally是一定会执行的,只不过上面的try{}里已经return a,所以之后对a的修改对于getValue()的返回值都不会有影响。
作者: liuzhengkang 发布时间: 2011-08-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28