Java의 경우 예외를 Exception 클래스를 통해 관리하고 Exception 종류는 크게 두 가지가 있습니다.
이번 포스팅은 Exception의 두 가지 종류에 대해 정리하고자 합니다.
우선 Error와 Exception의 차이에 대해 간단히 알아보도록 하겠습니다.
Error는 시스템에 비정상적인 상황이 생겼을 때 발생
Exception은 개발자가 구현한 로직에서 발생
간단히 정리하자면 위와 같습니다.
Error의 경우 Memory Leak으로 인한 OutOfMemoryError, StackOverFlowError가 가장 대표적인 예시가 될 수 있겠습니다.
(출처 : https://howtodoinjava.com/best-practices/java-exception-handling-best-practices/)
위 구조도를 보면 Checked Exception과 Unchecked Exception의 차이를 어느 정도 예상하실 수 있을 겁니다.
바로 RuntimeException 상속 여부입니다.
RuntimeException 상속 O = Unchecked Exception
RuntimeException 상속 X = Checked Exception
그럼 Checked Exception과 Unchecked Exception에 대해 조금 더 자세히 알아보도록 하겠습니다.
Checked Exception, Unchecked Exception 어떠한 경우든 개발자가 적절히 처리하지 않으면 서비스에 문제 발생이 가능합니다.