zoukankan      html  css  js  c++  java
  • try..catch..finally..

    记录一下try..catch..finally..中return的情况。

    1.try中有return,finally中没有return语句的。

    如下代码:--返回1;finally中代码也有执行到,但try中return a程序会记录下来1;执行完finally后再去return 1;

    public int test3(){
            int a = 0;
            try {
                a++;
                return a;
            } catch (Exception e) {
                a++;
                return a;
            }finally{
                a++;
            }
        }

    2.try中有return,finally中也有return语句的。

    如下代码:--2,最终返回的是finally语句下return a的结果。

    public int test3(){
                int a = 0;
                try {
                    a++;
                    return a;
                } catch (Exception e) {
                    a++;
                    return a;
                }finally{
                    a++;
                    return a;
                }
            }

    3.return语句在最外面的情况

    如下代码:--返回2,

    public int test3(){
            int a = 0;
            try {
                a++;
            } catch (Exception e) {
                a++;
            }finally{
                a++;
            }
            return a;
        }

    4.类似于如下这种:--返回1

    public int test3(){
            int a = 0;
            try {
                a++;
                return a;
            } catch (Exception e) {
                a++;
            }finally{
                a++;
            }
            return a;
        }

    总结一下:finally中带有return的,一律最终都会返回该结果。

    只有try中带有return的(catch也会带有或最外边带有),则会忽略其他各处对结果的修改,只返回try中返回的结果。

  • 相关阅读:
    QML中 Webview 元素的runJavaScript() 函数的使用方法
    Thinkphp 第二篇:如何将一个外部项目导入到Thimkphp环境中
    AMD电脑装完Winsows10后开机蓝屏,报错代码:cdmsnroot_s.sys
    JVM02——JVM运行时内存
    JVM01——JVM内存区域的构成
    JVM04——七个GC垃圾收集器
    JVM03——四种垃圾回收算法
    Mybatis的缓存机制详解
    mybatis插入insert操作,返回自增id
    mybatis批量查询-插入-删除
  • 原文地址:https://www.cnblogs.com/ihanliu/p/4788297.html
Copyright © 2011-2022 走看看