아이템 58. 복구 가능 상태에는 점검지정 예외를 사용하고, 프로그래밍 오류에는 실행지점 예외를 이용하라.

58. 복구 가능 상태에는 점검지정 예외를 사용하고, 프로그래밍 오류에는 실행지점 예외를 이용하라.

자바는 세가지 종류의 “throwable”을 제공한다.

  1. 점검지정 예외(checked exception) : 호출자(caller)측에서 복구할 것으로 여겨지는 상황에서 사용, 즉 클라이언트 측에서 복구 권한을 줌
  2. 실행시점 예외(runtime exception) : 프로그래밍 오류를 표현할 때는 실행시점 예외를 사용, 일반적으로 선행조건 위반(precondition violation)을 나타냄, ArrayIndexOutOfBoundsExeption
  3. 에러(error) : JVM자원 부족(resource deficiency)이나 불변식 위반(invariant failure)등에 사용

사용자 정의 무점검 throwable은 RuntimeException의 하위 클래스로 만들어야 한다.