前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java finally return知识小菜

Java finally return知识小菜

作者头像
java达人
发布2018-01-31 13:12:50
4770
发布2018-01-31 13:12:50
举报
文章被收录于专栏:java达人java达人

示例代码:

代码语言:javascript
复制
public class FinalTest {
  public static String testTry1() {
    try {
            return "try";

    } catch (Exception e) {
            return "cache";

    } finally {

      System.out.println("finally");
    }
  }
            
  public static String testTry2() {
      try {
            throw new Exception("dd");

    } catch (Exception e) {
           return "cache";

    } finally {

      System.out.println("finally");
    }
  }
           
   public static String testTry3() {
      try { 
            return "try";

    } catch (Exception e) {
            return "cache";

    } finally { 
            return "finally";
    }
  }
            
  public static void main(String[] args) {
    System.out.println("===testTry1===");
    System.out.println(testTry1());
    System.out.println("===testTry2===");
    System.out.println(testTry2());
    System.out.println("===testTry3===");
    System.out.println(testTry3());
  }

}

结果:

===testTry1===

finally

try

===testTry2===

finally

cache

===testTry3===

finally

结论:

1、根据testTry1,testTry2结果可知,当try/catch块中有return声明时,finally块中的代码依旧执行

2、根据testTry3结果可知,try/catch return的值会被finally中return的值覆盖

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档