슬슬의 공부

[Java] Checked Exception vs Unchecked Exception

seulseul 2023. 3. 9. 12:57

[김영한] Spring DB

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