Java 에는 세 종류의 예외가 존재하며, 각 예외는 아래와 같다.
- Checked Exception (체크 예외)
- Error
- Runtime Exception 혹은 Unchecked Exception (언체크 예외 , 런타임 예외)
쉽게 예외를 구분하는 예로, Error 와 Unchecked Exception 을 제외한 모든 예외는 Checked Exception 이다.
Checked Exception (체크 예외) vs Unchecked Exception(언체크 예외) 의 차이점은 항상 throws 에 던지는 예외를 선언해야하는가 이다.
- Checked Exception (체크 예외)
- Checked Exception 는 Exception 을 잡아서 처리할 수 없을 때, 예외를 밖으로 던지는 throws 예외를 필수로 선언해야한다. → 선언하지 않을시 컴파일 에러 발생
- 장점 : 개발자가 실수로 예외를 누락하지 않도록 컴파일러를 통해 문제를 잡아준다.
- 단점 : 실제로 개발자가 모든 체크 예외를 반드시 잡거나 던지도록 처리해야 하기 때문에 번거롭다.
- Unchecked Exception (언체크 예외)
- RuntimeException 과 그 하위 예외는 Unchecked Exception 로 분류된다.
- Unchecked Exception 는 컴파일러가 예외를 체크하지 않는다.
- Unchecked Exception 은 Checked Exception 과 기본적으로 동일하지만, 예외를 던지는 throws 를 선언하지 않고 생략할 수 있다. → 자동으로 예외를 던진다.
[관련 포스팅]
Error (에러) vs Exception (예외)
(현재글) Checked Exception vs Unchecked Exception
'슬슬의 공부' 카테고리의 다른 글
SSO 인증/인가 프로토콜 - SAML OAuth OIDC (0) | 2023.11.12 |
---|---|
[Java] Error vs Exception (0) | 2023.03.09 |
자료구조 (0) | 2023.01.24 |
[프로그래머스] 올바른 괄호 (0) | 2023.01.24 |
[프로그래머스] 카펫 (0) | 2023.01.24 |