java 中 try catch finally 语句的执行顺序
2015-08-01 14:11
721 查看
首先,无论是否出现异常,finally中的语句是一定会被执行的。
其次,先执行try中语句,最后执行finally中语句
最后,return语句返回后,是先放在栈中存放,语句结束后使用。
看下面的例子:
运行结果:
res1
res2
2
可以看出,先执行try中语句,将try中返回值先保存在栈中,由于在执行完finally中语句后,返回值修改为2,所以最后得到的返回值为2.
其次,先执行try中语句,最后执行finally中语句
最后,return语句返回后,是先放在栈中存放,语句结束后使用。
看下面的例子:
public class TryTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new TryTest().test() ); } @SuppressWarnings("finally") int test(){ try { return res1(); } finally{ return res2(); } } int res1(){ System.out.println("res1"); return 1; } int res2(){ System.out.println("res2"); return 2; } }
运行结果:
res1
res2
2
可以看出,先执行try中语句,将try中返回值先保存在栈中,由于在执行完finally中语句后,返回值修改为2,所以最后得到的返回值为2.
相关文章推荐
- java 基础知识 3
- Java方法工厂,接口,常用日期类Date面向对象,匿名内部类局部类
- Java日志框架——基本概念
- Spring应用 - 2
- Java解析Property文件
- java 验证码之 patchca
- Struts框架核心工作流程与原理
- eclipse解决乱码问题
- JavaSE----基础语法(数组)
- struts2中的Action
- sublime text 3 编译运行java代码方法
- eclipse中is missing required source folder问题的解决
- java--逻辑运算 位运算
- java--注释方法
- Java-- 变量
- MyEclipse去除网上复制下来的来代码带有的行号
- 修改MyEclipse默认生成的Servlet以及JSP页面
- Java_Web三大框架之Hibernate+jsp+selvect+HQL登入验证
- 解决NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- MyEclipse 2015优化技巧