Java中finally块报finally block does not complete norm
博客专区 > Drystal 的博客 > 博客详情
Java中finally块报finally block does not complete norm
Drystal 发表于3年前
Java中finally块报finally block does not complete norm
  • 发表于 3年前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

一、出现问题

当finall块中包含return语句时,Eclipse会给出警告"finally block does not complete normally"



二、分析原因
1 finally块中的return语句会覆盖try块、catch块中的return语句
2 如果finally块中包含了return语句,即使前面的catch块重新抛出了异常,则调用该方法的语句也不会获得catch块重新抛出的异常,而是会得到finally块的返回值,并且不会捕获异常


三、结论

finally内部使用 return 语句是一种很不好的习惯,如果try中还有return语句,它会覆盖了try 区域中 return语句的返回值,程序的可读性差。面对上述情况,其实更合理的做法是,既不在try block内部中使用return语句,也不在finally内部使用 return语句,而应该在 finally 语句之后使用return来表示函数的结束和返回。


原帖地址:http://blog.csdn.net/luckarecs/article/details/7214826


共有 人打赏支持
粉丝 3
博文 11
码字总数 1140
×
Drystal
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: