728x90
반응형

catch 2

[Effective Java] 아이템 77. 예외를 무시하지 말라.

// catch 블록을 비워두면 예외가 무시된다. 아주 의심스러운 코드다! try{ ... } catch (SomeException e){ } 예외는 문제 상황에 잘 대처하기 위해 존재하는데 catch 블록을 비워두면 예외가 존재할 이유가 없어진다. 물론 예외를 무시해야 할 때도 있다. 예를 들어 FileInputStream을 닫을 때가 그렇다. 파일의 상태를 변경하지 않았으니 복구 할 것이 없으며, 필요한 정보는 이미 다 읽었다는 뜻이니 남은 작업을 중단할 이유도 없다. 어쨌든 예외를 무시하고 했다면 catch 블록 안에 그렇게 결정한 이유를 주석으로 남기고 예외 변수의 이름도 ignored로 바꿔놓도록 하자. 참고 자료 Joshua Bloch, 『Effective Java 3/E』, 개앞맵시 옮김, ..

Java 2023.04.12

[Effective Java] 아이템 71. 필요 없는 검사 예외 사용은 피하라.

🎯 아이템 71. 필요 없는 검사 예외 사용은 피하라. 결과를 코드로 반환하거나 비검사 예외를 던지는것과 달리, 검사 예외는 발생한 문제를 프로그래머가 처리하여 안전성을 높이게끔 해준다. 물론, 검사 예외를 과하게 사용하면 오히려 쓰기 불편한 API가 된다. 어떤 메서드가 검사 예외를 던질 수 있다고 선언됐다면, 이를 호출하는 코드에서는 catch 블록을 두어 그 예외를 붙잡아 처리하거나 더 바깥으로 던져 문제를 전파해야만 한다. 어느 쪽이든 API 사용자에게 부담을 준다. 더구나 검사 예외를 던지는 메서드는 스트림 안에서 직접 사용할 수 없기 때문에 자바 8부터는 부담이 더욱 커졌다. public class Main { public static void main(String[] args) { try {..

Java 2023.04.02
728x90
반응형