- try-finally 보다는 try-with-resource를 사용하라2021년 03월 28일 22시 34분 25초에 업로드 된 글입니다.작성자: jCurve728x90반응형
이전 글에서 말한 것 처럼 자바에서 자원을 닫아야하는 경우에 finalizer,cleaner보다는 try-finally를 쓰는 것이 전통적인 방법이다.
백기선님이 JAVA STUDY에서도 언급하셨던 내용으로 실무에서 무조건 적용하라고 하셨다..!
기존의 try-finally방식으로는 자원 한 개의 사용에서는 별 이상을 못 느낀다.
하지만 자원이 한 개 더 추가된다면?
첫 번째 예외의 finally에서도 예외가 발생할 수 있다. 이런 상황에서는 위와 같은 코드는 자원수에 따라 더 길고 지저분해질 것이다.
하지만 AutoCloseable 인터페이스를 구현한 자원을 닫아야하는 클래스를 작성하면 자바 7에서 추가된 try-with-resource를 사용할 수 있다.
이처럼 finally에서 자원을 해제 하지 않고 자동으로 닫아주기 때문에 실수도 적고 훨씬 코드도 간결하다.
그리고 2번째 코드에서 처럼 try문을 중첩하지 않아도된다.
try문을 2번 중첩한 상황에서 예외가 발생시 2개 모두에서 발생했다면 예외중 한 개는 가려지기 때문에 해당 예외처리가 어렵다.
try-with-resource에서도 try-finally처럼 catch 문을 사용하여 다수의 예외를 처리할 수 있다.
반응형'JAVA' 카테고리의 다른 글
Listener 와 Adapter (0) 2021.04.10 equals는 일반 규약을 지켜 재정의하라 (0) 2021.03.29 finalizer와 cleaner 사용을 피하라 (0) 2021.03.28 다 쓴 객체 참조를 해제하라 (0) 2021.03.28 불필요한 객체 생성을 피하자 (0) 2021.03.15 댓글