finally有return 始终返回finally中的return 抛弃 try 与catch中的return

情况1:try{} catch(){}finally{} return x;

try{} catch(){}finally{} return x;
1 -> 2 -> 3 -> 4

情况2:try{ return x; }catch(){} finally{} return y;

try{ return x; }catch(){} finally{} return y;
try -> x计算[临时栈存]->finally ->return x的结果

情况3:try{ } catch(){return x;} finally{} return y;

try -> catch ->异常catch住 -> x计算[临时栈存]-> finally -> return x的结果;
无异常 -> finally -> return y;

情况4:try{ return x; }catch(){} finally{return y;}

try -> x计算[临时栈存] ->finally ->return y

情况5:try{} catch(){return x;}finally{return y;}

try -> catch捕获 -> x计算[临时栈存] ->finally ->return y

情况6:try{ return x;}catch(){return z;} finally{return y;}

try->x计算[临时栈存]->异常catch捕获-> z计算[临时栈存]->finally->return y;
无异常 -> finally -> return y;

eg1:finally无返回

int x = 1; try{x++; return x;} finally{++x;}

x = 2 ;

x计算后的值不会被finally改变

进入finally会提前栈保存return x 计算的值

try x:2

finally x:3

return x :2 == try x:2

eg2:finally带返回

int x = 1; try{x++; return x;} finally{++x; return x;}

x = 3 ;

x计算后的值不会被finally改变

进入finally会提前栈保存return x 计算的值

但是直接返回finally计算完成已经被影响的x值

try x:2

finally x:3

return x :3 == finally x:3

最新文章

  1. springMVC接受JSON异常
  2. Navicat for Oracle实现连接Oracle
  3. Android源码学习之模板方法模式应用
  4. Hibernate学习笔记整理系列-------一、Hibernate简介
  5. Sum Root to Leaf Numbers
  6. c++ 孟岩推荐 书籍
  7. 机器学习算法与Python实践之(三)支持向量机(SVM)进阶
  8. 上海Uber优步司机奖励政策(1月18日~1月24日)
  9. Strategic game(POJ 1463 树形DP)
  10. 解决浏览器兼容问题的css hack
  11. 每天一个linux命令(50)--date命令
  12. Openstack新建云主机的流程
  13. Oracle-03:关系型数据库和非关系的数据库的各自优缺点与区别
  14. Active Directory 域服务安装与测试
  15. asp.net core系列 32 EF查询数据 必备知识(1)
  16. 前后端分离djangorestframework——ContentType组件表
  17. MD 的常用语法格式
  18. centos 7 rabbitmq 3.7.12 erlang 20.3源码安装
  19. OCM_第二天课程:Section1 —》配置 Oracle 网络环境
  20. linux计划任务防暴力破解脚本+免密操作

热门文章

  1. Selenium私房菜系列--总章
  2. asp.net mvc 5 微信接入VB版 - 接入认证
  3. Android(java)学习笔记181:多媒体之图片画画板案例
  4. Java并发编程之原子操作类
  5. C语言常用关键字及运算符操作---关键字
  6. Python3基础教程(十九)—— 项目结构
  7. 7-Java-C(小题答案)
  8. docker存储管理
  9. python 人脸识别试水(一)
  10. 解决chrome 批量下载器 mgblihnaaedmhhgadafknogahbgejnno 插件乱码