当前位置 博文首页 > 技术菜鸟—淡定万的博客:Java之try-catch-finally分析

    技术菜鸟—淡定万的博客:Java之try-catch-finally分析

    作者:[db:作者] 时间:2021-07-17 22:45

    **情况1try{} catch(){}finally{} return;**
    显然程序按顺序执行。
    
    **情况2: try{ return; }catch(){} finally{} return;**
    
    先执行try块中return 语句(包括return语句中的表达式运算),但不返回;
    执行finally语句中全部代码
    最后执行tryreturn 返回
    finally块之后的语句return不执行,因为程序在try中已经return**情况3: try{ } catch(){return;} finally{} return;**
    1、程序先执行try,如果遇到异常执行catch块,
    
    有异常:
    执行catchreturn语句,但不返回
    执行finally语句中全部代码,
    最后执行catch块中return返回。 finally块后的return语句不再执行。
    无异常:执行完tryfinallyreturn**情况4: try{ return; }catch(){} finally{return;}**
    
    执行tryreturn语句(包括return语句中的表达式运算),但不返回;
    再执行finally块,
    执行finally块,有return,从这里返回。
    此时finally块的return值,就是代码执行完后的值
    
    **情况5: try{} catch(){return;}finally{return;}**
    
    程序执行catch块中return语句(包括return语句中的表达式运算),但不返回;
    再执行finally块,
    执行finally块,有return,从这里返回。
    **情况6: try{ return;}catch(){return;} finally{return;}**
    1、程序执行try块中return语句(包括return语句中的表达式运算),但不返回;
    
    有异常:
    
    执行catch块中return语句(包括return语句中的表达式运算),但不返回;
    再执行finally块
    执行finally块,有return,从这里返回。
    无异常:
    
    再执行finally块
    
    执行finally块,有return,从这里返回。
    
    cs