"알 수 없는 오류가 발생했습니다." 이 문장을 볼 때마다 사용자는 무력해진다. 좋은 에러 메시지는 세 가지를 말한다.
- 무엇이 안 됐는지
- 왜 안 됐는지 (알 수 있다면)
- 그래서 어떻게 하면 되는지
| 나쁜 예 | 좋은 예 |
|---|---|
| 오류가 발생했습니다. | 사진을 올리지 못했습니다. 파일이 10MB를 넘습니다. 크기를 줄여 다시 올려 주세요. |
| 잘못된 입력입니다. | 전화번호는 숫자만 입력해 주세요. 예: 01012345678 |
throw new UserError(
'사진을 올리지 못했습니다. 파일이 10MB를 넘습니다.',
hint: '크기를 줄여 다시 올려 주세요.'
);개발자에게 필요한 정보(스택, 요청 번호)는 로그에 남기고, 사용자에게는 다음 행동만 알려 주자.
코드 한 줄
