catch 금지❌ "Error 500"
❌ "잘못된 요청입니다"
❌ "DB connection failed"
✅ "문제가 생겼어요. 잠시 후 다시 시도해 주세요"
✅ "URL 형식을 확인해 주세요 (예: https://myapp.com)"
✅ "이미 사용 중인 이메일이에요"
500 + 일반적인 메시지, 상세 내용은 서버 로그back/nest.md, back/fastapi.md, back/django.md 참고console.error + 사용자 피드백// ✅
try {
await submitForm(data)
} catch (error) {
const message = error instanceof Error ? error.message : '문제가 생겼어요'
setErrorMessage(message)
}
// ❌
try {
await submitForm(data)
} catch {}
| 종류 | HTTP | 처리 방법 |
|---|---|---|
| 입력값 오류 | 400 | 폼 필드 옆 인라인 메시지 |
| 인증 필요 | 401 | 로그인 페이지로 리다이렉트 |
| 권한 없음 | 403 | "접근 권한이 없어요" 안내 |
| 없는 리소스 | 404 | 빈 상태 UI 또는 not-found 페이지 |
| 서버 오류 | 500 | "잠시 후 다시 시도해 주세요" + 재시도 버튼 |
catch절의 에러는 항상 unknown으로 처리. (typescript-standards.md 참고)
} catch (error: unknown) {
const message = error instanceof Error ? error.message : '알 수 없는 오류'
}
catch {}, catch { return })console.error만 하고 사용자 피드백 없음아직 피드백이 없어요. 첫 번째로 의견을 남겨보세요!