- 에러(Error) : 프로그램이 정상적으로 실행되지 못하는 상황 (하드웨어적인 메모리와 관련된 문제)
- 오류(Exception) : 개발자의 실수로 인해서 발생하였지만 처리가능한 오류(처리할 경우 정상화할 수 있는 문제)
- Checked Exception : RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스들이다. 예외 처리를 강제한다.
- Unchecked Exception : RuntimeException의 하위 클래스들을 의미합니다. 이것은 체크 예외와는 달리 에러 처리를 강제하지 않는다.
Checked Exception
RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스이며 컴파일러가 체크하는 예외를 뜻함.
(try & catch or throw)
catch문으로 예외를 잡거나, throws로 예외를 자신을 호출한 클래스로 던지는 방법으로 해결해야 하며, 해결하지 않으면 컴파일 시 체크 예외가 발생한다.
- IOException, SQLException
Unchecked Exception
RuntimeException의 하위 클래스들을 의미하며, 실행(runtime) 중에 발생 할 수 있는 예외를 뜻한다.
따로 catch문으로 예외를 잡거나, throws로 선언하지 않아도 된다. 프로그램에 오류가 있을 때 발생하도록 의도된 것이다
- NullPointerException, IllegalArgumentException
출처 및 참고
https://devlog-wjdrbs96.tistory.com/351
[Java] Checked Exception vs Unchecked Exception 정리
체크 예외와 언체크 예외(Checked, Unchecked Exception) 자바의 예외는 크게 3가지로 나눌 수 있습니다. 체크 예외(Checked Exception) 에러(Error) 언체크 예외(Unchecked Exception) 자바에서 에러, 예외 관련된 클래
devlog-wjdrbs96.tistory.com
[Java] 예외 처리 계층 구조
분홍색은 체크 예외이다. RuntimeException을 상속하지 않는 예외들을 말하는데, 체크 예외가 발생할 수 있는 메소드를 사용할 경우, 복구가 가능한 예외들이기 때문에 반드시 예외를 처리하는 코드
velog.io
'간단이론정리 > JAVA' 카테고리의 다른 글
가비지 컬렉션 (GC, Garbage Collection) (1) (0) | 2024.06.15 |
---|---|
about Java 17 (0) | 2024.06.13 |
about Java 11 (0) | 2024.06.13 |
JAVA의 Wrapper Class와 Boxing & UnBoxing (0) | 2024.06.12 |
JAVA 변수의 기본형 & 참조형 정리 (0) | 2024.06.12 |