黑马程序员技术交流社区

标题: 基础提问 [打印本页]

作者: 竹林雅轩    时间: 2015-10-28 00:00
标题: 基础提问
请问finally里面的代码会永远执行吗
作者: 大头爱傻瓜    时间: 2015-10-28 00:10
是的呀!!!!!!!!!!除非你把jvm关了
作者: 大自然的搬运工    时间: 2015-10-28 00:37
新手讨论一下:我的理解
只要你的代码运行到Try的语句,他就会执行finally语句。即使 try语句中有return 语句,执行完return语句依然要执行finally语句内容。。。。如果 程序没有运行到finally语句或者程序挂掉,那finally就不执行了,,
作者: rookiefly    时间: 2015-10-28 08:53
如果没有抛异常而且语句中有return语句,会在执行return语句之前执行finally中的代码,如果发生异常会在抛异常之前调用finally语句。
作者: 迷茫不堪的年纪    时间: 2015-10-28 09:48
又学习了下, 是在运行的,  就像他们说的,在抛出异常之前也会调用。
作者: 汪冰伦    时间: 2015-10-28 12:04
当try后面接了一句System.exit(0);把虚拟机关掉后,就不会执行finally
作者: 顽固派。    时间: 2015-10-28 12:30
异常处理机制,有三个部分组成,try语句块内的代码可能会发生异常,然后用catch来捕获这个类型的异常,并在catch语句块内执行发生异常后对的代码,不论try...catch...是否执行了,finally总是需要被执行的。finally主要用于资源的释放,比如jdbc中,可以用finally进行数据库连接的关闭等操作。。。
作者: _let'sgo    时间: 2015-10-28 14:00
除非这之前遇到System.exit(0),否则会执行finally
作者: 追梦小人    时间: 2015-10-28 14:26
会的,无论是否出现异常都会执行




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2