[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 11293] Re: 「 Java プログラミングの処方箋」
高橋(智)です。
先日買って読みました。感想は徹さんとほぼ同様です。
ただ、P129のコラム「finallyでclose()の功罪」の部分はよくわかり
ませんでした。要約するとこんな感じです。
============================================================================
以下のようなコードでは、close()のcatch節で例外を無視しているが、
バッファフラッシュが伴う場合には、close()の呼び出し時にIOException
が送出される可能性が高い。特に書き込む量が少ない時には要注意。
catch節では無視せずログを採ろう。
public class BWTest {
public static void main(String[] args) {
java.io.BufferedWriter wtr = null;
try {
wtr = new java.io.BufferedWriter(new java.io.FileWriter("C:\\test.txt"));
// 書き込み時、バッファリング可能な量であれば例外は起きない
wtr.write("test");
}
catch(java.io.IOException ex) {
ex.printStackTrace();
}
finally {
if( wtr != null ) {
// クローズ時、バッファがフラッシュされるので例外の可能性が高い
try { wtr.close(); } catch(java.io.IOException ex) { } // <-- ここ!!
}
}
}
}
============================================================================
--
高橋智宏
Java読書会( http://www.javareading.com/bof/ )
Murayama Toshikiyo wrote:
>
> 村山@NETGENEです。
>
> ・「Javaプログラミングの処方箋」
> 翔泳社、4-7981-0697-6、3,360
>
> 出たようですが、誰か読まれた方はいませんか?
>
> この手の本は興味はあるものの、内容がイマイチな場合が多いもので...