CH12-3 · FLOW

checked, unchecked와 사용자 예외 예제가 실행되는 순서

실패 원인과 호출자 행동 구분에서 시작해 catch 또는 throws로 복구 경계 전달까지 값과 책임이 이동한다.

  1. 1
    실패 원인과 호출자 행동 구분

    IOException처럼 메서드 선언에 드러나 호출자가 처리 경로를 결정합니다.

  2. 2
    맞는 예외 타입과 문맥 생성

    잘못된 인자나 불가능한 상태를 즉시 알리지만 문서와 검증 없이 남발하면 호출자가 실패 조건을 알기 어렵습니다.

  3. 3
    catch 또는 throws로 복구 경계 전달

    낮은 수준 SQLException을 그대로 노출하기보다 어떤 주문 저장이 실패했는지 식별자와 원인을 함께 보존할 수 있습니다.

실행 순서 금액 형식 자체가 잘못된 경우와 잔액 부족으로 재시도할 경우를 다른 예외 계약으로 나눴습니다.