-
호출하는 쪽에서 복구하리라 여겨지는 상황이라면 검사 예외를 사용하라.
- 검사 예외를 던지면 호출자가 그 예외를 catch로 잡아 처리하거나 더 바깥으로 전파하도록 강제하게 된다.
-
프로그램에서 비검사 예외나 에러를 던졌다는 것은 복구가 불가능하거나 더 실행해봐야 득보다는 실이 많다는 뜻이다.
-
프로그래밍 오류를 나타낼 때는 런타임 예외를 사용하자.
- 복구 가능하다면 검사 예외로, 그렇지 않다면 런타임 예외를 사용하기
- 우리가 구현하는 비검사 throwable은 모두 RuntimeException의 하위 클래스여야 함.
- 복구할 수 있는 상황이면 검사 예외를, 프로그래밍 오류라면 비검사 예외를 던지기
- 확실하지 않다면 비검사 예외를 던지기
- 검사 예외도 아니고 런타임 예외도 아닌 throwable은 정의하지도 말자.
- 검사 예외라면 복구에 필요한 정보를 알려주는 메소드도 제공하기