try catch finally 中的return语句执行先后问题

结论:

1. try catch中的 return 一定是在finally代码块执行后才执行的!!所以不要在finally块中使用return语句,不然try catch中的return语句会失效。

public class Test{
    public static void main(){
       String result =  test();
        System.out.println(result);
    }

    public static String test(){
      try {
            System.out.println("try代码块的语句执行了");
            return "try块中的return语句执行了";
        } catch (RuntimeException e) {
            e.getMessage();
        } finally {
            System.out.println("finally代码块的语句执行了");
            return "finally块的return语句执行了";
        }
   }            
}

posted @ 2018-01-17 10:31  风茗  阅读(214)  评论(0编辑  收藏  举报