try-catchの嵐
インターン先でも遭遇したんだけど、今日聞いた話だと身近にもこんなコードがあるらしい・・・
// 宣言 String line = null; BufferedReader br = null; InputStreamReader isr = null; FileInputStream fis = null; // ファイルのオープン try { fis = new FileInputStream("hoge.txt"); } catch (IOException e) {} try { isr = new InputStreamReader(fis); } catch (Exception e) { if (fis != null) { try { fis.close(); } catch (IOException ex) {} } throw e; } try { br = new BufferedReader(isr); } catch (Exception e) { if (fis != null) { try { fis.close(); } catch (IOException ex) {} } if (isr != null) { try { isr.close(); } catch (IOException ex) {} } throw e; } // 処理本体 while (true) { try { line = br.readLine(); if (line == null) { break; } // 何か処理 System.out.println(line.toUpperCase()); } catch (IOException e) { // エラー時のファイルのクローズ try { fis.close(); } catch (IOException ex) {} try { isr.close(); } catch (IOException ex) {} try { br.close(); } catch (IOException ex) {} return; } } // 正常終了時のファイルのクローズ try { fis.close(); } catch (IOException e) {} try { isr.close(); } catch (IOException e) {} try { br.close(); } catch (IOException e) {}
このコードはJavaだけど、聞いたのはABAPのコード。なんで○○○のコンサルはこんなXXXXばっかなんだろう。
いや、○○○のコンサルだけじゃなくて、コンサルは基本XXXXな気がしなくもない。