checked, unchecked와 사용자 예외 예제가 실행되는 순서
실패 원인과 호출자 행동 구분에서 시작해 catch 또는 throws로 복구 경계 전달까지 값과 책임이 이동한다.
-
1
실패 원인과 호출자 행동 구분
IOException처럼 메서드 선언에 드러나 호출자가 처리 경로를 결정합니다.
-
2
맞는 예외 타입과 문맥 생성
잘못된 인자나 불가능한 상태를 즉시 알리지만 문서와 검증 없이 남발하면 호출자가 실패 조건을 알기 어렵습니다.
-
3
catch 또는 throws로 복구 경계 전달
낮은 수준 SQLException을 그대로 노출하기보다 어떤 주문 저장이 실패했는지 식별자와 원인을 함께 보존할 수 있습니다.
실행 순서 금액 형식 자체가 잘못된 경우와 잔액 부족으로 재시도할 경우를 다른 예외 계약으로 나눴습니다.