try-finally static String firstLineOfFile(String path) throws IOException { BufferedReader br = new BufferedReader(new FileReader(path)); try { return br.readLine(); } finally { br.close(); } } 예외는 try와 finally 두 곳에서 발생할 수 있습니다. 예를들어서 기기에 물리적인 문제가 생긴다면 readLine()에서 예외를 던지고 close()또한 실패할 것입니다. 이 경우 close()에서 터진 예외가 readLine()의 예외를 완전히 집어삼켜서 해당 예외의 정보는 남지 않습니다. 물론, 두번째 예외(close()의 예외) 대신 첫번째 예외(re..