개발놀이터

면접 준비 : CheckedException, UnchekedException 본문

CS 지식/면접준비

면접 준비 : CheckedException, UnchekedException

마늘냄새폴폴 2022. 8. 4. 04:10

Q. CheckedException과 UncheckedException에 대해서 설명해주세요.
A. 둘의 차이는 RuntimeException을 상속하는가의 여부에 따라 다릅니다. RuntimeException을 상속하면 UncheckedException이 됩니다. CheckedException은 예외가 발생 했을 경우 반드시 try / catch로 해결해야 하는 예외입니다. 처리하지 못하는 경우에는 throws를 통해 밖으로 던져야 합니다. UncheckedException은 말 그대로 컴파일러가 예외를 체크하지 않겠다는 의미입니다. 체크 예외와는 다르게 예외를 반드시 처리하지 않아도 되고 throws를 통해 밖으로 던지는 것 또한 생략해도 됩니다. 

꼬리질문
Q. CheckedException, UncheckedException 중 어느 것을 사용해야 하나요? 그 이유도 설명해주세요.
A. 결과적으로 말하자면 UncheckedException을 사용해야 합니다. 그 이유는 먼저 예외는 기본적으로 복구 불가능하기 때문에 예외를 처리할 수 없는 경우가 대부분입니다. 또한, 체크 예외를 사용하면 추후에 프로젝트의 확장으로 예외가 변경되면 해당 예외가 달려있는 모든 부분을 고쳐야 합니다. 이는 OCP에 위배되기 때문에 지양해야 합니다. 따라서 체크 예외를 사용하기 보단 로그를 통해 개발자가 예외를 빠르게 알아채는 것이 중요합니다. 

https://coding-review.tistory.com/148

 

CheckedException, UncheckedException

자바의 예외는 크게 3가지로 나눌 수 있다. 체크 예외 (CheckedException) 언체크 예외 (UncheckedException) 에러 (Error) 자바에서 에러, 예외와 관련된 클래스들의 계층구조는 위와 같다. Throwable 클래스를..

coding-review.tistory.com