タグ

2007年12月4日のブックマーク (1件)

  • finally - ぐるぐる~

    なんか勘違いしてるプログラムを見た。 BufferedReader in1 = null; BufferedReader in2 = null; try { ... } finally { if (in1 != null) in1.close(); if (in2 != null) in2.close(); } 確かにfinallyブロックにはほとんど必ず入る*1けど、イコールfinallyブロックの処理が全部実行されるわけではない。 上の例だと、in1.close()で例外が発生したらin2はクローズされない。こんなのは当たり前だと思ってたんだけど、なんかどうもそうではないらしい。 上でもしどっちも実行されるのなら、そもそも try { } finally { BufferedReader in1 = new BufferedReader(...); BufferedReader in2

    finally - ぐるぐる~
    wakizaka
    wakizaka 2007/12/04
    俺勘違いしてるわwww