[JAVA] Java의 Checked Exception과 Unchecked Exception

chaentopia·2024년 4월 30일
0

NOW SOPT SERVER 과제

목록 보기
14/14
post-thumbnail

3차 세미나

(3차 세미나는 누구에게든 고비인 것 같다 . . . 여러분 힘내세요)

JAVA에서 예외는 런타임 (실행) 중 발생 가능한 오류 및 예외 상황을 처리하는데 사용됩니다. 이 예외는 Checked Exception 과 Unchecked Exception으로 나뉘게 됩니다.


에러와 예외 관련된 클래스들의 계층 구조는 위와 같은데, Throwable 클래스를 기준으로 Error, Exception 클래스로 나뉘게 되고, Error는 에러와 관련된 클래스, Exception은 예외와 관련된 클래스입니다.

에러와 예외의 차이?

에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생합니다. 메모리 부족이나 스택 오버 플로우 같이 복구할 수 없는 상황입니다. (개발자가 처리 불가)
예외는 실행 중 예기치 않은 상황이 발생했을 때를 말합니다. 이런 예외는 이에 대한 처리가 가능합니다.

Checked Exception

  • RuntimeException을 상속하지 않는 클래스이다.
  • 컴파일 시점에 컴파일러에서 확인하는 예외이다.
  • 반드시 에러 처리를 해야 하는 특징 (try/catch or throw) 을 갖고 있다.
  • 예외 발생 시, roll-back 한다.

FileNotFoundException, IOException, SQLException, ClassNotFoundException, InterruptedException 등의 예외가 있습니다.

Unchecked Exception

  • RuntimeException을 상속하는 클래스이다.
  • 런타임 단계에서 확인 가능하다.
  • 에러 처리를 강제하지 않는다.
  • 예외 발생 시, roll-back 한다.

Checked와 달리 컴파일 시 컴파일러에서 확인하지 않는 예외로, NullPointerException, ArrayIndexOutOfBoundsException 에러가 이에 해당합니다.

profile
the pale blue dot

0개의 댓글