Throwable を catch して null チェックを省く
まつもとさんのまつもとさんの紹介しているコードがあれすぎる、というのは同意なんですけど。
String readData(File file, String default_value) { BufferedReader in = null; try { in = new BufferedReader(new FileReader(file)); return in.readLine(); }catch(IOException e) { return default_value; }finally{ try{ in.close();}catch(Throwable _){} } }
最後の
try { in.close(); } catch (Throable _) {}
は通常なら
if (in != null) { try { in.close(); } catch (IOException e) { } }
と書くところを null チェックを省いていて一瞬おぉ、と思ったんだけど、NullPointerException 以外の非検査例外も握りつぶしちゃうけど大丈夫なんだろうか。まぁ、このコードなら普通はそういうことはおきないだろうけど。