A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 竹林雅轩 中级黑马   /  2015-10-28 00:00  /  483 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

请问finally里面的代码会永远执行吗

8 个回复

倒序浏览
是的呀!!!!!!!!!!除非你把jvm关了
回复 使用道具 举报
新手讨论一下:我的理解
只要你的代码运行到Try的语句,他就会执行finally语句。即使 try语句中有return 语句,执行完return语句依然要执行finally语句内容。。。。如果 程序没有运行到finally语句或者程序挂掉,那finally就不执行了,,
回复 使用道具 举报
如果没有抛异常而且语句中有return语句,会在执行return语句之前执行finally中的代码,如果发生异常会在抛异常之前调用finally语句。
回复 使用道具 举报
又学习了下, 是在运行的,  就像他们说的,在抛出异常之前也会调用。
回复 使用道具 举报
当try后面接了一句System.exit(0);把虚拟机关掉后,就不会执行finally
回复 使用道具 举报
异常处理机制,有三个部分组成,try语句块内的代码可能会发生异常,然后用catch来捕获这个类型的异常,并在catch语句块内执行发生异常后对的代码,不论try...catch...是否执行了,finally总是需要被执行的。finally主要用于资源的释放,比如jdbc中,可以用finally进行数据库连接的关闭等操作。。。
回复 使用道具 举报
除非这之前遇到System.exit(0),否则会执行finally
回复 使用道具 举报
会的,无论是否出现异常都会执行
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马