반응형
자바에서는 예외를 크게 Error와 Exception으로 구분하고, Exception은 RuntimeException 상속 여부에 따라 Checked Exception, Unchecked Exception으로 구분된다.
Error
시스템에 비정상적인 상황이 발생한 경우로 시스템 레벨에서 발생하는 심각한 수준의 오류를 의미하며, 개발자가 에측할 수 없기에 미리 Handling할 수 없다.
Exception
개발자가 구현한 로직에서 발생하는 것으로 개발자가 미리 예측하여 방지할 수 있어서 상황에 맞게 Handling 해야한다.
아래는 Checked Exception과 Unchecked Exception을 비교한 표이다.
Checked Exception | Unchecked Exception | |
로직에서 예외처리 여부 | 필수 반드시 예외처리 코드가 있어야 함 |
필수 X |
예외 확인 시점 | 컴파일 단계 | 런타임 중 |
예외 발생시 트랜잭션 처리 | Roll-back하지 않음 | Roll-back처리 됨 |
예시(대표적인 클래스) | Exception을 상속받는 클래스 중 RuntimeException을 상속받지 않는 모든 예외 클래스 ex) ClassNotFoundException, IOException, SQLException |
RuntimeException을 상속받는 모든 예외 클래스 ex) NullPointerException, IndexOutOfBoundException |
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
[JAVA] class file for javax.interceptor.InterceptorBinding not found (0) | 2022.01.26 |
---|---|
[JAVA] Optional 개념 및 사용법, 예제 (1) | 2022.01.21 |
[JAVA] 생성자 대신 정적 팩토리 메소드를 고려해야 하는 이유! (0) | 2022.01.12 |
[JAVA] 정적 팩토리 메소드란? (static factory method) (1) | 2022.01.10 |
[JAVA] 날짜 비교 하기 (Date, LocalDateTime, LocalDate) (2) | 2021.12.21 |
댓글