zoukankan      html  css  js  c++  java
  • 关于“finally block does not complete normally”警告提示

    最近发现,有些东西还是要记录一下的,不记录事情一多就慢慢地忘了,真的是好记性不如烂笔头。今天记录一下finally的警告“finally block does not complete normally”的原因,以及解决方法。(finally必须出现在try,catch块之后,不能单独出现)。

    在解决这个警告之前,我们需要先梳理一下各种情况下try,catch,finally的执行结果。

    1.当try,catch中有return,finally中没有return时,无论finally中对返回值如何修改,最后返回的依旧是try,catch中的返回值。

    2.当try,cath中没有return,finally中有return时,最后返回的是finally中经过处理的返回值。

    3.当try,catch中有return,finally中有return时,try,catch中的return被finally中的return覆盖,最后真正返回的是finally中经过处理的返回值。

    我们再看一下警告信息“finally block does not complete normally”,它是因为try,catch中有return,而且finally中也有return,finally中的return会覆盖掉try,catch中的return,可能导致finally块无法正常完成。解决这个异常我们根据情况去掉其中一个return即可,不过最好别在finally中加return,他可能会导致返回的并不是我们在try,catch中要返回的值。

    https://www.cnblogs.com/aigongsi/archive/2012/04/19/2457735.html

    金无足赤,人无完人,若有文章什么问题欢迎各位批评指正,共同交流,共同进步。 另,人过留名,雁过留声,少侠觉得还行的话留下个赞吧!:)
  • 相关阅读:
    剑指offer--29.从上往下打印二叉树
    剑指offer--28.栈的压入、弹出序列
    剑指offer--27.包含min函数的栈
    剑指offer--26.顺时针打印矩阵
    剑指offer--25.二叉树的镜像
    剑指offer--24.树的子结构
    剑指offer--23.合并两个排序的链表
    剑指offer--22.反转链表
    剑指offer--21.链表中倒数第k个结点
    剑指offer--20.矩形覆盖
  • 原文地址:https://www.cnblogs.com/thePeaceOftheLord/p/11836772.html
Copyright © 2011-2022 走看看