CheckedException / UnCheckedException

0sunset0·2022년 3월 14일
0

java

목록 보기
9/9
post-thumbnail

Exception과 Error의 차이



Error

에러는 시스템에 비정상적인 상황이 발생했을 경우에 발생합니다.

이러한 에러는 개발자가 예측하기도 쉽지 않고 처리할 수 있는 방법도 없습니다.

  • 메모리 부족(OutofMemoryError)
  • 스택오버플로우(StackOverflowError)

Exception

예외는 프로그램 실행 중에 개발자의 실수로 예기치 않은 상황이 발생했을 때 입니다.

자바에서 예외는 개발자가 예외 처리(Exception Handling)를 통해 직접 처리할 수 있기 때문에 예외 상황을 미리 예측하여 핸들링할 수 있습니다.

  • 배열의 범위를 벗어난(ArrayIndexOutOfBoundsException)
  • 값이 null이 참조변수를 참조(NullPointerException)
  • 존재하지 않는 파일의 이름을 입력(FileNotFoundException)

예외는 체크 예외(Checked Exception)와 언체크 예외(Unchecked Exception)로 나뉜다.

RuntimeException 클래스를 상속받지 않으면 체크 예외(Checked Exception), 상속 받으면 언체크 예외(Unchecked Exception)이다.



Checked Exception / Unchecked Exception


체크 예외(Checked Exception)

RuntimeException 클래스를 상속받지 않는다. → 컴파일 시점에서 확인될 수 있다.

컴파일러가 예외처리를 확인하는 Exception 클래스들을 말한다. → try/catch문을 사용

예외 발생 시, 롤백을 하지 않고 예외를 던진다.

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

언체크 예외(Unchecked Exception)

RuntimeException 클래스를 상속받는다. → 실행 시점에서 확인될 수 있다.

컴파일러가 에러처리를 확인하지 않는 RuntimeException 클래스들을 말한다. → try/catch문으로 예외처리를 안해도 됨

이 예외는 예측하지 못했던 상황에서 발생하는 예외가 아니기 때문에 굳이 예외 처리를 하지 않도록 만들어져 있다.

예외 발생 시, 롤백을 한다.

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

체크예외와 언체크예외 차이

0개의 댓글