java-try catch中return在finally之前 还是之后执行

    1. finally语句在return语句执行之后return返回之前执行的。
    2. finally块中的return语句会覆盖try块中的return返回。
    3. 如果finally语句中没有return语句覆盖返回值,那么原来的返回值可能因为finally里的修改而改变也可能不变
    4. try块里的return语句在异常的情况下不会被执行,这样具体返回哪个看情况。
    5. 当发生异常后,catch中的return执行情况与未发生异常时try中return的执行情况完全一样。
      finally块的语句在try或catch中的return语句执行之后返回之前执行且finally里的修改语句可能影响也可能不影响try或catch中 return已经确定的返回值,若finally里也有return语句则覆盖try或catch中的return语句直接返回。
原文地址:https://www.cnblogs.com/tuanz/p/11790473.html