初学者问题! 在try中不管出现什么错误,肯定执行finally中的代码。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果在finally前用了System.exit,或者硬件故障等,finally中的代码不会被执行。 执行了System.exit后finally不会执行,finally只对异常中断有用,但硬件故障不一定,如果是CPU坏了,就不会执行,而网卡之类的故障就会执行 finally在异常抛出中是一点会运行的。 finally一般是和try--catch块一起使用的用于无论try中程序代码运行是否产生异常(如楼上所说,是程序异常),都执行finally中的代码常用于处理某些必须完成的事务,即使前面异常了也如是,比如数据库处理中,try中取得了一个connection,但是插入insert语句产生了SQLException异常,这是catch块将其捕捉,并设定rallback回滚。但是,无论是否插入成功,都是要关闭connection的,所以,这时就可以将connection.cloes()放在finally块中btw:使用了finally块的方法,向外throws抛出的异常,会被finally屏蔽掉,这是java的一个小bug,可以参考thinking in java书中关于finally的介绍 java与二进制流的问题 lucene源码中父类调用之类函数是笔误吗 帮忙看看这个让我很迷惑的问题!谢谢 在windows xp下jar命令不能够用,怎么设置呢?可以使用java,但是jar命令不能够用。 一个简单的数据结构问题。。。 JEditorPane的更新问题 关于g.drawLine()函数的一个问题 java与c++转变的问题 初学JAVA,关于数据库连接的菜问题? 怎样用JAVA进行加密? 在网页中数字格式的问题??转换出错!!请大虾指教!! System.gc();怎么理解?
但硬件故障不一定,如果是CPU坏了,就不会执行,而网卡之类的故障就会执行
用于无论try中程序代码运行是否产生异常(如楼上所说,是程序异常),
都执行finally中的代码
常用于处理某些必须完成的事务,即使前面异常了也如是,比如数据库处理中,
try中取得了一个connection,但是插入insert语句产生了SQLException异常,这是catch块将其捕捉,并设定rallback回滚。
但是,无论是否插入成功,都是要关闭connection的,所以,这时就可以将connection.cloes()放在finally块中
btw:使用了finally块的方法,向外throws抛出的异常,会被finally屏蔽掉,这是java的一个小bug,可以参考thinking in java书中关于finally的介绍