finally块的作用是,保证无论出现什么情况,finally块里的代码一定会被执行。

由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,所以任何语句要执行都只能在return之前执行(除非碰到exit函数)。所以,finally块里的代码也是在return之前执行的

如果try-finally或catch-finally中都有return,那么finally块中的return语句将会覆盖别处的return语句。

对于基本类型的数据,在finally块中改变return的值对返回值没有任何影响;而对引用类型的数据就会有影响。

面试:finally块是不是一定会执行?

1) 当程序在进入try块之前就出现异常,不会执行;

2) 当程序在try块中强制退出(System.exit(0))时,也不会执行。

最新文章

  1. Android 开发环境在 Windows7 下的部署安装
  2. 理解innodb buffer pool
  3. 关于 jquery和js获取宽度时只能取整数,取不到小数点
  4. std::list
  5. HDU 5025 Saving Tang Monk --BFS
  6. CCF真题Z型输出
  7. App Store Review Guideline(带翻译)
  8. [BZOJ2048] [2009国家集训队] 书堆
  9. JavaScript复习笔记——数据类型
  10. vs code 快捷键中英文对照
  11. JS编程题
  12. Unity中进程间通信——使用Protobuf-net序列化与反序列化
  13. 深入浅析JavaScript中with语句的理解
  14. 定时删除elasticsearch索引
  15. C# winform 数据库操作知识点总结(干货)
  16. keras系列︱seq2seq系列相关实现与案例(feedback、peek、attention类型)
  17. SQL数据库Replace的用法
  18. Cobbler实现自动化安装(上)--原理篇
  19. UVA 1213 Sum of Different Primes
  20. [BZOJ2226][SPOJ5971]LCMSum(莫比乌斯反演)

热门文章

  1. 搭建vue项目并启动vue项目
  2. JS中的Date对象
  3. 请问有支持直接从 word 文档复制图片的 editor 吗
  4. 【LOMBOK】能引入 @Slf4j 注解,不能识别 log 的解决方法
  5. ASP 转换HTML特殊字符
  6. BUUCTF |Fakebook
  7. macOS 10.14 Mojave Apache Setup: Multiple PHP Versions
  8. Quick Notes
  9. Docker容器内部端口映射到外部宿主机端口
  10. 【TestNG】TestNG使用教程详解