티스토리 뷰
자바의 exception 종류는 다음과 같다.
Checked Exceptions
Exception 클래스는 Checked Exception이다.
Exception 클래스의 자식 클래스인 RuntimeException 을 제외 한 나머지 자식 클래스에서 발생할 수 있는 Exception 에 제한한다.
컴파일러는 컴파일 시점에 해당 Exception을 체크하기 때문에 compile-time exception 이라고도 불린다.
컴파일러는 개발자가 Exception 처리를 했는지 여부를 확인하기 때문에 필수로 해줘야 한다. 그렇지 않으면 컴파일 오류가 발생한다.
예시
컴파일 오류가 발생했다.
FileNotFoundException은 IOException을 상속받는데, IOException은 Exception을 상속받는다.
따라서 해당 Exception에 대해서 핸들링을 꼭 해주어야 한다.
Unchecked Exceptions
RuntimeException 클래스는 Unchecked Exception이다. RuntimeException의 자식클래스도 Unchecked Exception이다.
컴파일러는 컴파일 시점에 해당 Exception을 체크하지 않는다.
즉, 사용자가 프로그램을 사용할 때 잘못된 데이터를 제공하였을 경우 발생한다.
따라서 예외를 직접 처리하기 보다는 예외가 발생하지 않도록 주의하여 개발하도록 한다.
예시
public static void main(String[] args) {
String[] arr = {"a", "b", "c"};
System.out.println(arr[3]);
}
//exception
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3
참고
아래 주소에서 Checked Exception 그리고 Unchecked Exception의 비교 내용도 확인 가능하다.
https://www.javatpoint.com/types-of-exception-in-java
'Language > Java' 카테고리의 다른 글
배열에서 메모리 접근 (0) | 2024.10.15 |
---|---|
[Java] Collection Framework (0) | 2022.11.27 |
[Java] Thread (0) | 2022.06.28 |
[Java] Stack & Queue (0) | 2022.06.27 |
[Java] StringBuffer & StringBuilder (0) | 2022.06.22 |
- Total
- Today
- Yesterday
- Sticky Session
- @conditional
- 자동구성
- 티스토리챌린지
- JPA
- 정적변수
- 추상클래스
- nginx
- HashSet
- Caching
- syncronized
- fail-fast
- 다중화
- nosql
- fail-safe
- 고정 세션
- Hash
- Load Balancer
- 로드 밸런서
- Security
- 오블완
- java
- 인터페이스
- Red-Black Tree
- Spring
- AutoConfiguration
- spring boot
- object
- HashMap
- 인스턴스변수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |