1. Checked Exception
- 컴파일 시점에 확인되는 예외
- 예외 처리를 하지 않을 경우 컴파일 오류를 발생시킨다
- try-catch 블록으로 감싸거나, throws 키워드로 호출자에게 예외를 전파해야 함
- 주로 프로그램 외부 요인으로 발생하는 예외 (I/O 작업, 네트워크 통신)
- IOException, SQLException, ClassNotFoundException
2. Unchecked Exception (코딩 테스트 때 많이 나오는 오류들)
- 런타임에 확인되는 예외
- 명시적 예외 처리가 필요하지 않음
- 프로그래밍 오류
- NullPointerException, ArrayIndexOutOfBoundsException, IllegalArgumentException
매일메일의 설명
- Checked Exception은 외부 환경과의 상호작용에서 발생할 가능성이 높은 예외에 적합함, 파일 입출력, 네트워크 통신 등에서 발생할 수 있는 예외는 Checked Exception으로 처리하는 것이 좋음. 예측 가능하며, 호출하는 쪽에서 적절히 처리할 수 있는 여지가 있다
- Unchecked Exception은 코드 오류, 논리적 결함 등 프로그래머의 실수로 인해 발생할 수 있는 예외에 적합, 미리 예측하거나 미리 처리하하는 것이 어렵기 때문에 unchecked Exception으로 두는 것이 좋음
그렇다면 Error와 Exception의 차이는 무엇일까?
Error는 주로 JVM에서 발생하는 문제로 OutOfMemotyError, StackOverflowError등 시스템 레벨에서 발생하는 오류이다. 회복이 어려운 오류에 속하며, 애플리케이션 코드에서 복구할 수 없는 심각한 문제를 나타냄.
반면 Exception은 프로그램 실행 중 발생할 수 있는 오류 상황을 나타내고 회복 가능성이 있으며, 프로그램 내에서 예외 처리를 통해 오류 상황을 제어할 수 있다. Exception은 다시 Checked Exception과 Unchecked Exception으로 나눌 수 있다.
[매일메일] 데이터베이스 인덱스에 대해서 설명해주세요 (0) | 2025.03.10 |
---|---|
[기술면접][매일메일] 일급 컬렉션이 무엇인가요? (0) | 2025.03.07 |
[Spring] Jpa의 N+1 문제에 대해서 설명해주세요 (0) | 2025.03.06 |
[기술 / 면접][매일메일] 엔티티 매니저에 대해 설명해주세요 (0) | 2025.03.04 |
[Spring] Jpa의 ddl-auto 옵션은 각각 어떤 동작을 하고, 어떤 상황에서 사용해야 할까요? (0) | 2025.03.03 |