자바에서 예외는 전체적으로 Error와 Exception으로 나뉘게 됩니다.
Error란 시스템 레벨에서 발생하는 심각한 수준의 오류를 뜻하며, 개발자가 미리 예측할 수 없는 오류입니다.
Exception이란 로직 상에서 발생하는 오류로, 개발자가 구현한 코드에서 발생하여 예외를 예측할 수 있으며 미리 예방할 수 있습니다.
이러한 예외 클래스들은 최상위 클래스인 Object를 상속받은 Throwable이라는 클래스를 기반으로 Error와 Exception클래스로 나뉘며, 이때 Exception클래스는 RuntimeException 상속 여부에 따라 CheckedException과 UncheckedException으로 나뉘게 됩니다.
RuntimeException의 상속 여부에 따라 CheckedException과 UncheckedException으로 나뉘게 됩니다.
Runtime Exception을 상속받으면 Unchecked Exception이고, 그렇지 않다면 Checked Exception입니다.
Checked Exception | UnChecked Exception | |
예외 처리 여부 | 반드시 예외 처리 코드가 있어야 합니다. | 강제가 아닙니다. |
예외의 확인 시점 | 컴파일 단계에서부터 컴파일이 되지 않습니다. | 런타임중 예외가 확인됩니다. |
예외 발생시 트랜잭션 처리 | roll-back하지 않습니다. | 기본적으로 roll-back을 합니다. |
대표적인 클래스 | Exception을 상속받는 클스중 RuntimeException가 아닌 모든 예외 클래스 IO Exception SQL Exception |
RuntimeException을 상속받는 모든 클래스 NullPointerExcetpion IndexOutOfBoundException |
728x90
반응형
'Language > Java' 카테고리의 다른 글
완독 스터디 - 객체지향 프로그래밍1 (0) | 2021.11.28 |
---|---|
직렬화와 역직렬화 (0) | 2021.11.17 |
자바 - 동일성과 동등성(equals, == ) (0) | 2021.09.11 |
SOLID 원칙 (0) | 2021.09.03 |
접근 제어자의 종류 (0) | 2021.08.18 |