作者daidaibruce (呆呆向前冲)
看板java
标题Re: [问题] 关於IO内close的问题
时间Sat Jan 12 12:18:43 2008
※ 引述《ericsys3152 (住在巴别塔的男孩)》之铭言:
: 当file丢出exception後file会不会自动执行close()啊?
: 本来想写以下的code:
: RandomAccessFile test = null;
: try
: {
: test = new RandomAccessFile("test.dat", "r");
: ...
: }
: catch (FileNotFoundException e)
: {
: ...
: }
: (一堆catch...)
: finally
: {
: test.close();
: }
: 可是compile时compiler说finally里面的test要放在try里面,
: 这样不就一直try try try try ... 无穷回圈 = =
: 我是担心丢出Exception之後file不会自动执行close()才这样写的啦,
: 不然test.close()写在try最後面就好了,
: 还是我多虑了~"~
当file丢出exception後file会不会自动执行close()啊?
Ans:不会
如果是我的话
一般在finally的地方我会再包个try catch 但是catch就不处理任何事了
try{
}catch(){
}finally{
try{
if(test!=null) test.close(); //先判断test不是null才close
}catch(Exception e){}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.70.58
※ 编辑: daidaibruce 来自: 122.120.70.58 (01/12 12:20)
1F:推 ericsys3152:先看信才看这篇,谢谢你的回答喔^^ 01/13 14:15