← 질문 목록
#70깊이 0

체크 예외는 언제 API 계약에 넣는가?

언어 · 런타임심화설계 원칙

호출자가 복구 전략을 세울 수 있고 반드시 처리 여부를 결정해야 할 때 체크 예외를 계약에 넣는다. 프로그래밍 오류에는 런타임 예외가 맞다.

기준체크 예외런타임 예외
컴파일러처리·선언을 강제한다강제하지 않는다
적합한 상황예측 가능한 복구계약 위반·버그

Exception의 하위 타입 중 RuntimeException이 아닌 예외는 체크 대상이다. Error와 런타임 예외는 컴파일러가 처리나 선언을 강제하지 않는다.

체크 예외를 너무 넓게 쓰면 호출 계층마다 의미 없는 catch와 throws가 퍼진다. 복구할 수 없으면 도메인 런타임 예외로 번역하되 원인을 보존한다.

예외를 경계에서 번역하면 저장소나 네트워크 구현을 API 밖으로 숨길 수 있다. 메시지와 원인, 복구 가능 여부를 계약에 명확히 둔다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

체크 예외는 언제 API 계약에 넣는가?