try catch finally的执行顺序深入分析

 更新时间:2013年09月10日 15:52:42   作者:  
首先执行try,如果有异常执行catch,无论如何都会执行finally,当有return以后,函数就会把这个数据存储在某个位置,然后告诉主函数,我不执行了,接下来你执行吧,所以函数就会推出
首先执行try,如果有异常执行catch,无论如何都会执行finally

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

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

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

相关文章

  • httpclient evict操作源码解读

    httpclient evict操作源码解读

    这篇文章主要为大家介绍了httpclient evict操作源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Eclipse设置svn忽略文件或文件夹(svn:ignore)的操作

    Eclipse设置svn忽略文件或文件夹(svn:ignore)的操作

    这篇文章主要介绍了Eclipse设置svn忽略文件或文件夹(svn:ignore)的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Spring实战之使用注解实现声明式事务操作示例

    Spring实战之使用注解实现声明式事务操作示例

    这篇文章主要介绍了Spring实战之使用注解实现声明式事务操作,结合实例形式详细分析了spring使用注解实现声明式事务相关配置、接口实现与使用技巧,需要的朋友可以参考下
    2020-01-01
  • Java中接口和抽象类的区别详解

    Java中接口和抽象类的区别详解

    这篇文章主要介绍了Java中接口和抽象类的区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java运用SWT插件编写桌面记事本应用程序

    Java运用SWT插件编写桌面记事本应用程序

    这篇文章主要为大家介绍了一个Java项目实战,一步步教你实现记事本,步骤很详细,运用SWT插件手把手编写记事本,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • java如何读取yaml配置文件

    java如何读取yaml配置文件

    这篇文章主要介绍了java如何读取yaml配置文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java为何需要平衡方法调用与内联

    Java为何需要平衡方法调用与内联

    这篇文章主要介绍了Java为何需要平衡方法调用与内联,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-01-01
  • Java使用Flyway实现数据库版本控制的技术指南

    Java使用Flyway实现数据库版本控制的技术指南

    在现代应用开发中,数据库结构经常随着业务需求不断演变,使用手动SQL脚本管理数据库版本,不仅容易出现错误,还难以跟踪和回滚,Flyway是一个强大的数据库迁移工具,能够帮助开发者高效管理和自动化数据库的版本控制,本文将介绍Flyway的基本功能及其在SpringBoot项目中的实践
    2025-02-02
  • SpringBoot的监控(Actuator)功能用法详解

    SpringBoot的监控(Actuator)功能用法详解

    这篇文章主要介绍了SpringBoot的监控(Actuator)功能用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-03-03
  • 深入理解Mybatis二级缓存

    深入理解Mybatis二级缓存

    与一级缓存相比,二级缓存范围更大了一些,可以被多个SqlSession所共用。下面通过本文带领大家一起学习mybatis二级缓存知识,一起看看吧
    2016-12-12

最新评论