간단이론정리/JAVA

Checked Exception & Unchecked Exception

눕고싶은사람 2024. 7. 26. 19:21

 

  • 에러(Error) : 프로그램이 정상적으로 실행되지 못하는 상황 (하드웨어적인 메모리와 관련된 문제)
  • 오류(Exception) : 개발자의 실수로 인해서 발생하였지만 처리가능한 오류(처리할 경우 정상화할 수 있는 문제)
    • Checked Exception : RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스들이다. 예외 처리를 강제한다.
    • Unchecked Exception : RuntimeException의 하위 클래스들을 의미합니다. 이것은 체크 예외와는 달리 에러 처리를 강제하지 않는다.

Checked Exception

RuntimeException의 하위 클래스가 아니면서 Exception 클래스의 하위 클래스이며 컴파일러가 체크하는 예외를 뜻함.

(try & catch or throw)

 

catch문으로 예외를 잡거나, throws로 예외를 자신을 호출한 클래스로 던지는 방법으로 해결해야 하며, 해결하지 않으면 컴파일 시 체크 예외가 발생한다.

 

- IOException, SQLException

 

Unchecked Exception

RuntimeException의 하위 클래스들을 의미하며, 실행(runtime) 중에 발생 할 수 있는 예외를 뜻한다.

 

따로 catch문으로 예외를 잡거나, throws로 선언하지 않아도 된다. 프로그램에 오류가 있을 때 발생하도록 의도된 것이다

 

- NullPointerException, IllegalArgumentException

 


 

출처 및 참고

https://devlog-wjdrbs96.tistory.com/351

 

[Java] Checked Exception vs Unchecked Exception 정리

체크 예외와 언체크 예외(Checked, Unchecked Exception) 자바의 예외는 크게 3가지로 나눌 수 있습니다. 체크 예외(Checked Exception) 에러(Error) 언체크 예외(Unchecked Exception) 자바에서 에러, 예외 관련된 클래

devlog-wjdrbs96.tistory.com

https://velog.io/@bokimy/Java-%EC%98%88%EC%99%B8-%EC%B2%98%EB%A6%AC-%EA%B3%84%EC%B8%B5-%EA%B5%AC%EC%A1%B0

 

[Java] 예외 처리 계층 구조

분홍색은 체크 예외이다. RuntimeException을 상속하지 않는 예외들을 말하는데, 체크 예외가 발생할 수 있는 메소드를 사용할 경우, 복구가 가능한 예외들이기 때문에 반드시 예외를 처리하는 코드

velog.io

 

'간단이론정리 > JAVA' 카테고리의 다른 글

가비지 컬렉션 (GC, Garbage Collection) (1)  (0) 2024.06.15
about Java 17  (0) 2024.06.13
about Java 11  (0) 2024.06.13
JAVA의 Wrapper Class와 Boxing & UnBoxing  (0) 2024.06.12
JAVA 변수의 기본형 & 참조형 정리  (0) 2024.06.12