黑马程序员技术交流社区
标题:
有关异常处理中finally
[打印本页]
作者:
你懂得
时间:
2013-8-15 12:45
标题:
有关异常处理中finally
跪求异常处理机制中finally的用法?
作者:
孟祥钰
时间:
2013-8-15 12:58
finally表示总是被执行,有些特定情况下,不管是否有异常发生,总是要求某些特定的代码必须被执行,就用到finally
作者:
yangxin540
时间:
2013-8-15 13:24
finally总是被执行,不管是否有异常发生,总是要求某些特定的代码必须被执行,就用到finally,它一般用来关闭一些关闭的资源,如数据库等
try{
}catch{
}finally{
总会执行的代码
}
作者:
binghaiwang
时间:
2013-8-15 13:35
IO中的一些流对象例如字符 FileWriter,FileReader 字节流 InputStream,OutputStream等
Socket网络编程中的Socket服务, 数据库访问后需要关闭连接操作等,涉及到一些系统资源的对象(即在程序设计中你认为必须要执行和处理的代码)就放到finally{}执行。
作者:
刘劲松
时间:
2013-8-15 16:39
异常中的finally{ 。。。},指这里面的代码一定会被执行。只有当前面有exit(0)时,就是退出虚拟机了,才执行不到。记住这个原理。毕老师在他异常处理finally那节说的很清楚了,去温习下就知道了。
作者:
sunriselzz
时间:
2013-8-15 18:19
本帖最后由 sunriselzz 于 2013-8-15 18:20 编辑
异常处理
try{ 需要检测的代码;}
catch(异常类 变量){ 异常处理代码;}
finally{ 一定会执行的代码;}
Finally代码块只有一种情况不会被执行。就是在之前执行了System.exit(0)。
执行了System.exit(0),就直接退出了虚拟机,程序当然不能再继续往下执行了
处理过程:Try中检测到异常会将异常对象传递给catch,catch捕获到异常进行处理。
Finally里通常用来关闭资源。比如:数据库资源,IO资源等。
finally块不能单独使用,必须始终与try块在一起
作者:
hoyouly
时间:
2013-8-15 18:57
try{
}catch{
}finally{
}
这个是一个捕获异常的语句,在一个程序中,try{}和catch{}这个两个代码块只可能有一个得到允许,但是finally{}这个代码块确是必须要执行的。
我给你画了个简单的图
画的不太好,能说明问题就行,要想从A点到B点,(这个就相当于程序运行),要么你通过try{} 这条线路,即程序正常运行,没有出现什么异常,要么就通过catch{} 这条线路,即有异常发送,但是不管你走哪条线路,都必须通过finally{}这条才能到达B点,
不知道我这样解释你能明白不。
1.png
(3.79 KB, 下载次数: 22)
下载附件
2013-8-15 18:54 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2