java6 까지
close가 필요한 자원을 프로시져 종료전에 꼭 닫으려면 finally를 써야 했다.
FileWriter writer = null;
try {
writer = new FileWriter(file);
writer.write("contents");
} catch (Exception e) {
// TODO: handle exception
}finally {
try {
writer.close();
} catch (IOException e) {
// TODO handle exception
e.printStackTrace();
}
}
try catch 블럭도 혐오스러운데 finally 까지 붙이니 정말 보기 싫다.
스코프때문에 변수를 null로 선언해야 하는 꼴보기 싫음까지 추가로...
close를 하려면 거기도 예외처리를 해줘야 해서 또 try-catch 블럭을 넣어야 한다.
물론 메서드에서 쓰로우해주는게 좋다.
java7 부터는 많은 부분을 개선해 줬다.
try-with-resources 방식을 쓰면 한결 낫다.
try(FileWriter writer = new FileWriter(file); ) {
file.write();
}
'Java' 카테고리의 다른 글
Java Applet ReflectPermission (0) | 2018.03.28 |
---|---|
Java Applet 이런 젠장 (0) | 2018.03.28 |
BigDecimal을 사용하는 이유 (0) | 2018.03.18 |
자바 자체 인증키 발급 (0) | 2018.01.02 |
final 변수 설정을 하는 이유 (0) | 2017.12.21 |