JAVA中try,catch,finally的return研究
来源:互联网 发布:郑州黑马程序员官网 编辑:程序博客网 时间:2024/06/06 13:05
最近在坛子里看到有人问相关问题。
自己发现自己第一时间打错了。
所以又重新验证了一下。
先上结论给伸手党。
1.finally块和最外层有且只能有一个return,否则出编译期错误。(catch块不影响此结论)
----try块和最外层有且只能有一个return,否则出编译期错误。(try块有时,catch块也必须有return)
----return可以不写在外层而写在finally里,但是会报警告(标黄)。(try块,catch块不影响此结论)
2.finally有return时,不管有没有异常,都会从finally的return跑掉
----try块有return。没有异常(不进入catch块)时,finally块有return走finally,否则走try的return。
--------外层有也不走,其实是运行到try的return时,执行finally在返回try的return,但是finally也有return,所以相当于半路跑路了
----try块有return。有异常(进入catch块)时,finally块有return走finally,否则走catch的return。
--------解释同上,到finally时半路跑路了。
验证代码:
/** * JAVA中try,catch,finally的return研究 * @author qian.xu * */public class MyReturn {public String test(){int[] a = new int[2];try{//for(int i=0;i<2;i++){ //正常系for(int i=0;i<3;i++){ //异常系//执行到i=2会报错a[i] = i;}System.out.println("try块执行完毕");//return "我是try块的return";}catch(Exception e){System.out.println("catch块被执行");return "我是catch块的return";}finally{System.out.println("finally块被执行");return "我是finally块的return";}//return "我是最后一个return";}/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubMyReturn myReturn = new MyReturn();System.out.println(myReturn.test());}}
- JAVA中try,catch,finally的return研究
- 研究try catch finally return
- Java中try-catch-finally中的return
- java中try catch finally与return的执行顺序
- java 异常捕捉 ( try catch finally )中return的影响
- Java中try-catch-finally-return的执行顺序
- 关于Java中try-catch-finally-return的执行顺序
- 关于Java中try-catch-finally-return的执行顺序
- java 中try catch finally 与return位置的关系
- Java中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的执行情况
- try-catch-finally中return的执行情况
- try-catch-finally中return的执行情况
- try-catch-finally中return的执行情况
- LZW编码算法详解
- 两种方法实现---字符串倒叙
- 关于jquery.fn http://blog.sina.com.cn/s/blog_83958bc601012cl9.html
- Linux 四核4G内存320G硬盘分区推荐
- 开发人员的吐槽
- JAVA中try,catch,finally的return研究
- Android RTC 自下而上分析
- hdu 4281 judges' response
- 从Camera来看Binder IPC机制
- 紫薇花开的季节(二)
- 搭建了一个mini2440开发板u-boot的框架(1)
- 一个Activity,用handleMessage(Message msg) 切换不同界面,主界面按钮不响应
- 不要在头文件中定义有链接的实体
- Spring中XML配置文件的十二个最佳方法