Exception(예외)

hyunwoo·2023년 1월 22일
0

🌳 Java 지식

목록 보기
15/21

(참고사이트) https://cheese10yun.github.io/checked-exception/

Exception은 크게 2종류로 나눠볼 수 있습니다.

Checked Exception 과 Unchecked Exception

  • 참고) 예외는 예외처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지될 수 있도록 할 수 있다.

위 상속 구조를 처럼
Unchecked Exception는 RuntimeException을 상속하고
Checked Exception는 RuntimeException을 상속하지 않습니다.
이것이 중요한 포인트입니다.

Checked Exception

반드시 명시적으로 처리해야 하기 때문에 Checked Exception이라고 하며, try catch를 해서 에러를 잡든 throws를 통해서 호출한 메서드로 예외를 던져야 합니다.

  • 존재하지 않는 파일의 이름을 입력(FileNotFoundException)
  • 실수로 클래스의 이름을 잘못 적음(ClassNotFoundException)

Unchecked Exception

명시적인 예외 처리를 강제하지 않는 특징이 있기 때문에 Unchecked Exception이라 하며, catch로 잡거나 throw로 호출한 메서드로 예외를 던지지 않아도 상관이 없습니다.
말 그대로 실행 중에(runtime) 발생할 수 있는 예외를 의미합니다.

  • 배열의 범위를 벗어난(ArrayIndexOutOfBoundsException)
  • 값이 null이 참조변수를 참조(NullPointerException)

📌

  • 컴파일 오류의 경우 대체로 문법상의 오류 때문에 많이 발생합니다.
  • 런타임 오류의 경우 설계가 잘못되어 발생하는 경우가 많습니다.

Checked Exception은 프로그램 작성시 이미 예측가능한 예외를 작성할 때 사용하고
Unchecked Exception은 발생 할수도 발생 안 할수도 있는 경우에 작성한다.

0개의 댓글