서비스를 개발하거나 운영할 때 “에러”는 단순히 프로그램이 실패했다는 의미만은 아닙니다.
에러는 누가 보는지에 따라 의미와 대응 방법이 달라집니다.
이번 글에서는 시스템 관점과 사용자 관점으로 나누어 설명하고, 각각 어떻게 처리해야 하는지 알려드립니다.

1️⃣ 사용자 관점(User Perspective) 에러
사용자 관점의 에러는 사용자가 직접 경험하고 이해할 수 있는 문제입니다.
특징
- 친절한 안내 메시지가 가장 중요
- 사용자가 직접 조치할 수 있는 경우가 많음
- 내부 오류 세부사항은 숨기고, 이해하기 쉬운 정보만 제공
예시
- 에러 유형 설명 UI 안내 메시지
- 입력 오류 잘못된 값 입력 “이메일 형식이 올바르지 않습니다.”
- 권한/인증 오류 로그인 안 됨, API 키 없음 “로그인 후 이용해주세요.”
- 요청 제한 초과 호출 횟수 초과 “잠시 후 다시 시도해주세요.”
- 기능 제한 무료 사용자 제한, 구독 필요 “이 기능은 프리미엄에서만 이용 가능합니다.”
🔹 포인트: 사용자는 에러 원인보다 ‘어떻게 해결할 수 있는지’에 집중합니다.
2️⃣ 시스템 관점(System Perspective) 에러
시스템 관점의 에러는 서버, 네트워크, 외부 API 등 운영자가 관리해야 하는 문제입니다.
특징
- 운영과 로그 기록이 가장 중요
- 사용자에게는 최소한의 안내만 제공하고, 내부에서는 상세한 에러 정보와 상태 기록
- 자동 재시도, 백오프, 트랜잭션 관리 등 안정적 서비스 운영에 집중
예시
- 에러 유형 설명 운영/로그 처리
- 서버 내부 오류 메모리 부족, 프로세스 실패 에러 로그 기록, 알림, 상태 모니터링
- 외부 API 오류 호출한 AI 서버 다운 재시도 로직, 백오프, 로그 기록
- 네트워크 오류 서버 간 연결 실패 연결 재시도, 모니터링, 알림
- 데이터 처리 오류 파싱 실패, 형식 불일치 상세 오류 기록, 데이터 검증
🔹 포인트: 사용자에게는 간단히 “잠시 후 다시 시도해주세요” 정도만 안내하고, 내부적으로는 상세 기록과 모니터링 필요
3️⃣ 에러 처리 전략
관점 처리 포인트
사용자 : 친절한 메시지, 쉽게 이해 가능한 안내, 재시도 가능성 안내
시스템 : 로그 기록, 모니터링, 자동 재시도, 트랜잭션 안전성 확보, 알림
두 관점을 명확히 나누면 UI 설계, 운영 안정성, 디버깅 효율이 모두 향상됩니다.