티스토리 뷰

 

Java 7 이후부터 리소스가 닫히도록 보장하는 try-with-resources 문을 도입했다. 이 구문은 try catch finally 보다 선호되어야 한다.

 

Noncompliant Code Example

FileReader fr = null;
BufferedReader br = null;

try {

    fr = new FileReader(fileName);
    br = new BufferedReader(fr);
    
    return br.readLine();
    
} catch (...) {

} finally {

    if (br != null) {
        try {
            br.close();
        } catch(IOException e){...}
    }
    
    if (fr != null ) {
        try {
            br.close();
        } catch(IOException e){...}
    }
}

 

Compliant Solution

try (
    FileReader fr = new FileReader(fileName);
    BufferedReader br = new BufferedReader(fr)
) {
  return br.readLine();
}
catch (...) {}

// or

try (BufferedReader br = new BufferedReader(new FileReader(fileName))) {
  return br.readLine();
}
catch (...) {}

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함