finally里面的return返回值问题
来源:互联网 发布:unity3d 骰子模型 编辑:程序博客网 时间:2024/05/16 11:26
示例验证过程:
import java.util.Scanner;public class TestException{ //创建类的实例 static Scanner input = new Scanner(System.in); public static void main(String[] args){ //测试求和 int result = sum(); System.out.println("result的值为:" + result); }public static int sum(){ int firstNum; int secondNum; int result = 0; try{ System.out.print("请输入第一个数:"); firstNum = input.nextInt(); System.out.print("请输入第二个数:"); //5 secondNum = input.nextInt(); //计算结果 result = firstNum + secondNum; //系统退出,,,finally不再执行 //System.exit(1); return result; }finally{ System.out.println("无条件执行的代码。。。。");// result = 111;// return result; }// return result;//该语句不能到达(编译不通过) } public void show(){ return; //System.out.println("ddd");//xxx }}
在try-catch-finally中, 当return遇到finally:
1.在try catch块里return的时候,finally也会被执行。 2.return 语句会把后面的值复制到一份用来返回,如果return的是基本类型的,finally里对变量的改动将不起效果,如果 return 的是引用类型的,改动将可以起效果。 3.finally里的return语句会把try catch块里的return语句效果给覆盖掉。
结论:看来return语句并不一定都是函数的出口,执行return时,只是把return后面的值复制了一份到返回值变量里去了。
建议:1.最好把return放到方法尾而不要在try cath 里return
2.不要在try catch块和finally块里都包含return
3.如果在try catch块里return, 则不要在finally块里操作被return的变量
转自:http://blog.csdn.net/andymu077/article/details/6649812
0 0
- finally里面的return返回值问题
- return与finally的执行顺序与返回值问题
- try-catch-finally-return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- 关于JAVA的try catch finally的return返回值问题
- try、catch、finally里面的return
- try--catch--finally中return返回值执行的顺序
- finally里的return问题
- 关于try,finally里面的return,到底谁先执行的问题
- java里面finally的问题
- 原理解析try-catch-finally里面的return
- try catch finally里面出现return时候的结果
- finally 和 return 的次序问题。
- try catch finally 与 return 的问题
- C/C++ return返回值的问题
- java return finally 问题
- 异常中 finally中不能给变量赋新值来改变return的返回值
- 恢复计算机崩溃数据的五款最佳Linux发行版
- Java 向下类型转换
- 最大子数组和
- js中offsetTop,scrollTop,clientTop区别
- 短信猫软件的实现(C#)<一>熟悉串口
- finally里面的return返回值问题
- java语言基础入门——JDBC(使用Java连接数据库)
- 更换默认Python版本
- HDU:Oil Deposits
- 最佳加法表达式(dp)
- Android Handler体系部分源码学习
- 第二章 JAVA集合之HashSet源码浅析
- eclips中常用的快捷键
- alsamixer设置说明