[java] try-with-resources 문은 어떤 예외 처리 방식을 제공하나요?
자바 7부터 도입된 try-with-resources
문은 AutoCloseable
인터페이스를 구현한 자원을 try 블록 내에서 사용할 때, 자원 사용이 끝나면 자동으로 자원을 닫아주는 기능을 제공합니다. 이때 자원을 닫을 때 발생할 수 있는 예외도 처리할 수 있습니다.
아래는 try-with-resources
문의 예시 코드입니다.
try (BufferedReader reader = new BufferedReader(new FileReader("file.txt"))) {
String line = reader.readLine();
System.out.println(line);
} catch (IOException e) {
System.err.println("Error reading from file: " + e.getMessage());
}
위 코드에서 BufferedReader
는 AutoCloseable
을 구현하고 있으므로, try-with-resources
문을 사용하여 reader
의 자원을 안전하게 사용하고 닫을 수 있습니다. 만약 자원을 닫을 때 예외가 발생한다면 catch
블록에서 해당 예외를 처리할 수 있습니다.
이를 통해 코드가 더 간결해지고 자원 관리에 대한 부담을 줄일 수 있습니다.
참고문헌:
- https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html