728x90
반응형
Checked Exception
- 컴파일 시점에 확인되며, 반드시 처리해야 하는 예외다.
- 자바에서는 IOException, SQLException 등이 이에 속한다.
- Checked Exception을 유발하는 메서드를 호출하는 경우, 메서드 시그니처에 throws를 사용하여 호출자에게 예외를 위임하거나, 메서드 내에서 try-catch를 사용하여 해당 예외를 반드시 처리해야합니다.
사용처
정답이 없는 영역이므로, 자신의 주관을 만들면서 학습!
- 외부 환경과의 상호작용에서 발생할 가능성이 높은 예외에 적합하다.
- ex) 파일 입출력, 네트워크 통신 등에서 발생할 수 있는 예외를 처리한다.
- 이러한 예외는 예측 가능하며, 호출하는 쪽에서 적절히 처리할 수 있는 여지가 있다.
Unchecked Exception
- 런타임 시점에 발생하는 예외로, 컴파일러가 처리 여부를 강제하지 않는다.
- 자바에서는 RuntimeException을 상속한 예외들이 해당된다.
- 일반적으로 프로그래머의 실수나 코드 오류로 인해 발생합니다.
사용처
정답이 없는 영역이므로, 자신의 주관을 만들면서 학습!
- 코드 오류, 논리적 결함 등 프로그래머의 실수로 인해 발생할 수 있는 예외에 적합하다.
- ex) null 참조 또는 잘못된 인덱스 접근 등은 호출자가 미리 예측하거나 처리할 수 없는 부분에서 예외를 처리한다.
Error vs Exception 차이
Error
- 주로 JVM에서 발생하는 심각한 문제
- OutOfMemoryError, StackOverflowError 등 시스템 레벨에서 발생하는 오류
- 이는 일반적으로 프로그램에서 처리하지 않으며, 회복이 어려운 오류에 속하며, 애플리케이션 코드에서 복구할 수 없는 심각한 문제를 나타냅니다.
Exception
- 반면, Exception은 프로그램 실행 중 발생할 수 있는 오류 상황
- 대부분의 경우 회복 가능성이 있으며, 프로그램 내에서 예외 처리를 통해 오류 상황을 제어할 수 있다.
- Exception은 다시 Checked Exception과 Unchecked Exception으로 나눌 수 있다.
728x90
반응형
'Language > JAVA' 카테고리의 다른 글
Record DTO 사용 이유 (2) | 2025.04.09 |
---|---|
동시성 프로그래밍을 위한 유용한 클래스와 인터페이스 (0) | 2024.07.16 |
[Java] Math 클래스 제곱 pow, 제곱근 sqrt 함수 (0) | 2024.02.21 |
[JAVA] 문자열 반복 메소드 repeat (0) | 2024.02.15 |
[JAVA] while (n-- > 0) 의미 (0) | 2024.02.11 |
댓글