try catch finally的执行顺序学习

  首先执行try,如果有异常执行catch,无论如何都会执行finally,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数,我不执行了,接下来你执行吧,所以函数就会退出。首先执行try,如果有异常执行catch,无论如何都会执行finally 。

  一个函数中肯定会执行finally中的部分。

  关于一个函数的执行过程是,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数,我不执行了,接下来你执行吧,所以函数就会推出。

  但是当一个函数中出现finally以后,finally永远都要执行,所以,就算try或者catch中已经执行了return了,但是这时函数不会退出,不会告诉主函数去执行,而是等待finally执行完了才回去告诉主函数去执行,这时候如果finally中出现了return的话,这次return的值就会覆盖掉try或者catch中的值,然后才会告诉主函数:我不执行了,你去执行吧。所以主函数会得到finally中的返回值。也就是说子函数的返回值永远是finally中的返回值(只要被调用的函数中有值)

最新文章

  1. jQuery+CSS3文字跑马灯特效
  2. TODO:小程序开发环境搭建
  3. Ajax如何使用Session
  4. nopCommerce 安装失败: 引发类型为“System.OutOfMemoryException”的异常。
  5. spark yarn-cluster 和 yarn-client提交的配置
  6. zoj 1610 Count the Colors
  7. 以前写过的一些oracle语句
  8. 第一章 搭建Qt开发环境
  9. 关于Simple.Data.PostgreSql的ExecuteReader没实现非常坑爹的问题
  10. 如何编写一个带命令行参数的Python文件
  11. nodejs抓取网络图片转换为base64编码的图片
  12. Django的form表单之文件上传
  13. 克鲁斯卡尔(Kruskal)算法求最小生成树
  14. 程序员的视角:java 线程
  15. mysql自动更新时间
  16. C#编码问题以及C#往Mysql插数据编码问题
  17. php laravel 多条件筛选
  18. 调用百度api输出地址和城市查询出具体坐标系
  19. 华为S5300系列交换机限制特定IP可以登录Web
  20. [BZOJ4027][HEOI2015]兔子与樱花 树形dp

热门文章

  1. iOS 9 Safari广告拦截插件
  2. Java中的内存泄漏
  3. STM32 Flash Download failed
  4. bzoj5213: [Zjoi2018]迷宫
  5. spring2.5整合struts2
  6. POJ2763 Housewife Wind(树剖+线段树)
  7. MySQL计算指标连续两月金额相比_20160929
  8. bzoj 4753 [Jsoi2016]最佳团体——0/1分数规划
  9. Python调试指南
  10. MongoDB主从复制,主主复制