return 是方法的返回值,如果你的方法没有返回值,也就是返回为voit
那就不用return了,
finally是不管发不发生异常都会执行的一块!
希望对你有帮助!

解决方案 »

  1.   

    我觉的,你应该了解下finally是干什么用的.
      

  2.   

    finally 指在
    try/catch/finally中无论是否有异常发生,都会执行的代码片断
    单 tcf 本身也只是一个片断而已,这个片断执行完了,当然还要执行 tcf 后面的代码啦!
      

  3.   

    回楼主,fianlly不会结束方法.而finally里的return被放在了if语句中.一旦if判断的结果为false,这个方法的当前流程就没有return可以返回了.为了保证方法无论如何都有返回值,最后追加了一个return.
      

  4.   

    finally是无论catch到异常或者没有catch到异常都会执行的一段代码,而并不是执行完就跳出方法体的上面的代码里由于你的method是要求有返回值的,而
    catch(){ 
            ....   
    }finally {
    if{}{ 
         return   -1; 
        }   
    } 代码段中catch里没有return -1;
    finally里面有return -1;但是是有if条件限制的
    如果不满足if的话就不会return -1;
    因此代码中还缺少对不满足if条件的情况的返回值处理
    所以最后一个return   0;不能少除非
    catch(Exception e){ 
           throw e;
    }
    抛出了这个e的话就不需要返回值了
      

  5.   

    finally是无论catch到异常或者没有catch到异常都会执行的一段代码,而并不是执行完就跳出方法体的上面的代码里由于你的method是要求有返回值的,而
    catch(){ 
            ....   
    }finally {
    if{}{ 
         return   -1; 
        }   
    } 代码段中catch里没有return -1;
    finally里面有return -1;但是是有if条件限制的
    如果不满足if的话就不会return -1;
    因此代码中还缺少对不满足if条件的情况的返回值处理
    所以最后一个return   0;不能少除非
    catch(Exception e){ 
           throw e;
    }
    抛出了这个e的话就不需要返回值了
      

  6.   

    finally是无论catch到异常或者没有catch到异常都会执行的一段代码,而并不是执行完就跳出方法体的上面的代码里由于你的method是要求有返回值的,而
    catch(){ 
            ....   
    }finally {
    if{}{ 
         return   -1; 
        }   
    } 代码段中catch里没有return -1;
    finally里面有return -1;但是是有if条件限制的
    如果不满足if的话就不会return -1;
    因此代码中还缺少对不满足if条件的情况的返回值处理
    所以最后一个return   0;不能少除非
    catch(Exception e){ 
           throw e;
    }
    抛出了这个e的话就不需要返回值了