NAVER Pay Dev Blog - Medium · 2025. 06. 24.
도메인 Error를 다루는 고민과 Arrow의 Either
AI 엔지니어링 브리핑
오래된 결제 시스템을 새로 만들면서 발생하는 도메인 오류를 더 명확하고 일관되게 다루기 위해 Kotlin의 결과 표현 방식과 Arrow를 적용한 경험을 소개합니다.
문제 & 배경
기존 결제 시스템은 예외가 발생하는 조건과 처리 위치가 제각각이고 예외 종류도 계속 늘어나 오류의 원인과 전체 흐름을 파악하기 어려웠습니다.
기술 & 해결책
팀은 결제 승인 결과를 Kotlin의 sealed class로 정상 결제와 여러 실패 상태로 명시하고, 함수가 예외를 숨기기보다 정해진 결과값으로 반환하도록 모델링했습니다.
교훈 & 주의점
오류 상태를 가능한 경우의 수로 코드에 드러내면 예측하지 못한 상황을 줄이고 처리 흐름을 더 쉽게 이해할 수 있으며, API의 다양한 결과 중 도메인에서 필요한 상태를 명확히 구분해야 합니다.
함께 읽을 글
내용이 비슷해요내용이 비슷한 글을 먼저 보여드려요. 같은 문제나 해결책을 다룬다는 뜻은 아니에요.