友情提示:本文共有 640 个字,阅读大概需要 2 分钟。
用Java语言开发系统时,经常会需要对异常做一些处理,就会用到try……catch……语句。而有很多的时候,这样的语句不论出现没出现异常都要最终执行一些操作,比如流的关闭。此时就需要用到finally语句块了。
写在finally语句块中的语句,总会在最后执行,无论有没有发生异常,走没走catch语句块。
可是有一个语句,在finally语句块中是要谨慎使用的。是什么语句呢,容我卖个关子。
大家看看下面这段代码会输出什么结果呢。
想一想,会输出什么内容。
不要着急说出来。
再看看下面这段代码会输出什么结果呢。
和第一段代码相比,就是在try块中去掉了异常的抛出。
这次又会输出什么结果呢。
我来公布一下,这两段代码的输出结果是完全一样的。
就是输出“finally”。
看到这里,可能很多朋友已经想到我标题说的在finally块中要谨慎使用的语句是什么了。
对的,就是“return”语句,这个语句在finally语句块中是要慎用的。
因为只要执行到finally语句中的return语句。那无论try块和catch块中return的是什么都会被覆盖掉了。
大家再和我看看第二段代码在编译后的内容是什么吧(第一段代码编译后的效果类似,大家有兴趣可以自己试试看)。
是不是更直观了,直接把finally语句块中的return语句挪到try块和catch块中了,并且把原来的return语句干掉了。对,干掉了。
所以,在finally块中一定要慎用return语句哦。
想了解更多精彩内容,快来关注软件开发领路人
本文如果对你有帮助,请点赞收藏《Java代码的finally语句块中 这个语句要慎用》,同时在此感谢原作者。