zoukankan      html  css  js  c++  java
  • trycatch中return语句如何执行

    测试代码如下:

     1 package reviewTest;
     2 
     3 /**
     4  * @ClassName: ReturnTest
     5  * @Description: 测试return在trycatch中的执行
     6  * @author Kingram
     7  * @date 2018年7月27日
     8  *
     9  */
    10 public class ReturnTest {
    11 
    12     public static void main(String[] args) {
    13         System.out.println(new ReturnTest().test());
    14     }
    15 
    16     private int test() {
    17         int x = 1;
    18         try {
    19             int[] arr = new int[2];
    20             x = arr[5];
    21             return x;
    22         } catch (Exception e) {
    23             x = 10;
    24             return x;
    25         } finally {
    26             ++x;
    27             return x;
    28         }
    29     }
    30 
    31 }

    程序执行分析:

      当程序执行到第20行时会产生数组下标越界异常,这时直接跳到catch语句块,此时x==10,并没有return。

      最终执行finally语句块此时x==11,并返回x,最终输出结果为11。

  • 相关阅读:
    javascript --学习this
    seaJS
    wamp之htaccess的配置
    replace之$1、$2等
    nw.js使用
    新电脑开发环境配置
    vue-vue常用指令
    Array的splice与slice
    vue-入门体验
    Object.defineProperty
  • 原文地址:https://www.cnblogs.com/Kingram/p/9376638.html
Copyright © 2011-2022 走看看