• try catch finally return


    我感觉这个问题,在java中应当经常被问到,结合简单的代码来看。

    一般而言,我们都知道的一句话,try..catch...finally代码块在执行的时候,无论如何都会执行finally中的内容。

    1.try 块 和 finally块中都有return,执行try块中的内容之后,执行finally块,并且用finally中的return结束函数的执行。

    public int test1() {
    		try {
    			System.out.println("try block");
    			return 0;
    		} catch (Exception e) {
    			System.out.println("catch block");
    			return 1;	// return from catch block
    		} finally{
    			System.out.println("finally block");
    			return 2;	//return from finally block
    		}
    	}
    

     输出的是:

    try block
    finally block
    2 try 中 有 return,finally中没有return。执行完finally中的语句之后,再执行try中的return。

    public int test1() {
            try {
                System.out.println("try block");
                return 0;
            } catch (Exception e) {
                System.out.println("catch block");
                return 1;    // return from catch block
            } finally{
                System.out.println("finally block");
    //            return 2;    //return from finally block
            }
        }

    输出:

    try block
    finally block
    0

    执行完,finally中的语句之后,如果finaly中没有return,则到catch中寻找return子句,catch再没有的话,就要在往外寻找。

    public int test1() {
            try {
                System.out.println("try block");
    //            return 0;
                throw new Exception("a exception");
            } catch (Exception e) {
                System.out.println("catch block");
    //            return 1;    // return from catch block
            } finally{
                System.out.println("finally block");
    //            return 2;    //return from finally block
            }
            return 3;    // over test
        }
  • 相关阅读:
    MySQL数据库优化的八种方式(经典必看)
    HTML5之应用缓存---manifest---缓存使用----HTML5的manifest缓存
    ajax方法总结
    十分钟入门less(翻译自:Learn lESS in 10 Minutes(or less))
    MySQL主从复制技术(纯干货)
    table不能遗露了tbody
    DOM 之selection
    DOM 其他一些特性
    CSSOM视图模式
    DOM 节点实例操作
  • 原文地址:https://www.cnblogs.com/OliverZhang/p/7224876.html
Copyright © 2020-2023  润新知