www.whkt.net > FinAlly为什么一定会执行

FinAlly为什么一定会执行

类似与发生错误之后,一定要进行的操作!比较猥琐的例子就是:try{ grilfriend().haschild(); //女友意外怀孕}catch{ grilfriend().streamofpeople(); //人流处理 }finally{ careof(); //照顾她}是人,总是要照顾的

首先在大家的印象中,无论程序是否出现异常,Finally代码块是一定会执行的.这个观点可能会让大家有些失望了,答案是否定的.接下来就让我来详细的给大家讲解一下吧.案例1.其执行结果为:如下图(数组下标越界,没有下标为3这个索引

简单啊 finally{//finally 无论是否有异常都要执行的代码 try{ 解锁文件操作xxx }catch{ 处理异常xxx } }

在Java语言的异常处理中,finally块的作用就是为了保证无论出现什么情况,finally块里的代码一定会被执行.由于程序执行return就意味着结束对当前函数的调用并跳出这个函数体,因此任何语句要执行都只能在return前执行(除非碰到exit函数),因此finally块里的代码也是在return之前执行的.此外,如果try-finally或者catch-finally中都有return,那么finally块中的return将会覆盖别处的return语句,最终返回到调用者那里的是finally中return的值.

finally一定会执行的.

在try-catch-finally结构中, 只要try块被执行了,无论在什么地方return, finally是一定会被触发的, 按照这个规则,finally必须在return之前执行

finally ['fainli] adv. 最后;终于;决定性地一般用于文章的最后,进行概括,总结,等等,

finally在try catch 执行完毕后一定会执行的.你说的不用执行,从语法上来说做不到.

try { // } catch {// } finally { //} 就是说,不管怎么样(try或catch是否执行成功), 只要写了finally字句,都必定要执行 finally{ // }

try里面是执行代码,其中的代码"可能"产生异常. catch是对产生异常后的处理代码,可以抛出异常,也可以显示异常,也可以弹出某中提示,总之catch里是任何代码都行,如果你知道这钟异常产生的原因,可以打印此原因,也可以对此原因进

网站地图

All rights reserved Powered by www.whkt.net

copyright ©right 2010-2021。
www.whkt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com