try catch finally的执行顺序能总结一下么

来源:1-3 Java中通过案例学习 try...catch...finally

蝶梦疏妄

2016-11-01 19:56

感觉有点混乱

写回答 关注

4回答

  • 慕移动9181930
    2022-03-29 03:49:14
  • 队长给我球
    2016-11-01 21:33:09

    try和catch配合用,捕捉异常

    执行的代码放入到try中进行捕捉,一旦出现异常,catch块就会相应的抛出

    而在最后的finally块,则会始终执行,不论有无异常

    蝶梦疏妄 回复慕粉4226...

    也就是说在第一次finally没有执行而是直在第二次(最后一次)末尾执行一次

    2016-11-02 12:33:29

    共 6 条回复 >

  • Zach4286514
    2016-11-01 21:06:17

    1、不管有木有出现异常,finally块中代码都会执行;
    2、当try和catch中有return时,finally仍然会执行;
    3、finally是在return后面的表达式运算后执行的(此时并没有返回运算后的值,而是先把要返回的值保存起来,管finally中的代码怎么样,返回的值都不会改变,任然是之前保存的值),所以函数返回值是在finally执行前确定的;
    4、finally中最好不要包含return,否则程序会提前退出,返回值不是try或catch中保存的返回值。
    举例:

    蝶梦疏妄

    如果有两重代码在try中执行,两个都有异常,想知道这个时候finally的执行顺序,看老师的那个好像是finally只执行一次,那个时候,三个的执行顺序又是怎么样的?

    2016-11-01 21:45:09

    共 1 条回复 >

  • 慕粉4226835
    2016-11-01 21:03:50

    try中编写的是逻辑代码,如果这段代码有异常出现的话,catch会捕捉到,并抛出异常信息。如此以来,会先执行try,如果没有异常则跳过catch,有异常就会执行catch的操作。finally是catch之后执行的。

    蝶梦疏妄

    如果有两重代码在try中执行,两个都有异常,想知道这个时候finally的执行顺序,看老师的那个好像是finally只执行一次,那个时候,三个的执行顺序又是怎么样的?

    2016-11-01 21:44:57

    共 1 条回复 >

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409780 学习 · 4339 问题

查看课程

相似问题