zoukankan      html  css  js  c++  java
  • try、catch、finally--try块里有return,finally还执行吗?

    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))时,也不会执行。

  • 相关阅读:
    java web 初学
    学习2
    学习
    上课
    Java中字母大小写的转换
    心得体会
    servlet请求
    响应设置消息体
    servlet响应-头部信息的设置
    servlet的响应(一)
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/6561476.html
Copyright © 2011-2022 走看看