Java:try与finally
来源:互联网 发布:人物合成软件 编辑:程序博客网 时间:2024/05/17 02:51
任何调用try 或者catch中的return语句之前,都会先执行finally语句,当然前提是finally存在。如果finally中有return语句,那么程序就return了,所以finally中的return是一定会被return的,编译器把finally中的return实现为一个warning。
例一
package exercise;/** * 基本类型测试try,finally * @author Administrator **/public class TestReturnAndFinally { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new TestReturnAndFinally().test());; } static int test() { int x = 1; try { return x; } finally { ++x; } }}
结果:
1
例二
package exercise;/** * 引用类型测试try,finally * @author Administrator **/public class TestReturnAndFinally3 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new TestReturnAndFinally3().test());; } static StringBuffer test() { StringBuffer a = new StringBuffer("init"); try { a.append(" try"); return a; } finally { a.append(" finally"); } }}
结果:
init try finally
例三
package exercise;/** * 普通类 * @author Administrator **/public class Quote {public int a = 1;}package exercise;/** * 引用类型中的基本类型测试try,finally * @author Administrator **/public class TestReturnAndFinally2 { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new TestReturnAndFinally2().test().a);; } static Quote test() { Quote q = new Quote(); try { return q; } finally { q.a++; } }}
结果:
2
1 0
- Java:try与finally
- java之try与finally话语
- Java:try与finally的说明
- java try return finally
- java的try-finally
- java---try ---catch--finally
- java try,finally
- java try catch finally
- Java try finally
- Java: try catch finally
- java-try...catch...finally
- java try-catch-finally
- java中try catch finally与return的执行顺序
- java中的try中的return与finally执行顺序关系
- java 中try catch finally 与return位置的关系
- JAVA try..catch..finally与return执行顺序研究
- C#中的try与finally
- C#中的try与finally
- Android GCM push通知
- 关于SQL中,C#监视某张表SqlDependency学习笔记
- Android的各种Drawable讲解
- LayoutSubviews方法
- Android自定义控件之应用程序首页轮播图
- Java:try与finally
- eclipse下,使用junit4,报“no Junit tests found”错误的解决办法
- MySQL创建方法错误:This function has none of DETERMINISTIC, NO SQL
- 关于Navicat和MYSQL字符集不统一出现的中文乱码问题
- 关于Parcelable 接口的使用
- 从数字中发现规律?
- 使用.net反射机制实现 “热”更新动态库(dll文件)
- git操作
- 知识有用吗