
백엔드
코드 품질 개선 기법 1편: 한 번 엎지른 <error>는 다시 주워 담지 못한다
두줄요약
에러 표현 방식은 복구 가능성과 호출자 처리 범위에 맞춰 선택해야 한다고 설명했습니다. 예시 코드에서는 입력 오류와 구현 실수를 다른 방식으로 분리해 개선했습니다.
핵심 내용
- 에러 표현 방식은 에러의 복구 가능성과 호출자 처리 범위에 맞춰 선택해야 하는 원칙
- 입력 형식 오류처럼 호출자가 처리할 수 있는 경우와, 구현 실수처럼 복구 불가능한 경우를 구분해 표현 방식 분리
- 예시 코드에서는 잘못된 입력에 nullable 반환, 정규식 구현 실수에 런타임 예외를 사용하는 방향으로 개선
적용해볼 점
- 기본값, 단순 도메인 에러, 합 타입, 확인된 예외, 확인되지 않은 예외, 캐치할 수 없는 에러의 복구 수준 차이 점검
- 호출자가 에러를 인지해야 하는지, 세부 유형까지 처리해야 하는지 기준으로 반환 방식 재검토
- 복구 가능 여부가 불분명하면 다루기 쉬운 형태로 반환한 뒤 상위 계층에서 변환