try-with-resouces의 예외 코드
try (FileInputStream fileInputStream = new FileInputStream("example.txt")) {
// Use the file input stream
} catch (IOException e) {
// Handle the exception
}
FileInputStream fileInputStream = null;
try {
fileInputStream = new FileInputStream("example.txt");
// Use the file input stream
} catch (IOException e) {
// Handle the exception
} finally {
if (fileInputStream != null) {
try {
fileInputStream.close();
} catch (IOException e) {
// Handle the exception
}
}
}
try-with-resources는 리소스를 자동으로 닫는 반면 try-catch-finally는 리소스를 수동으로 닫아야 한다는 것입니다.
코드가 더 읽기 쉽고 작성하기 쉬움. Java9이후에는 기존의 변수도 try-with-resources문에서 사용 가능해 더욱 간결. 여러 개의 리소스를 한번에 선언하고 닫을 수 있다. 각 리소스는 ; 으로 구분 됩니다.