界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
设计与创意 · SKILL.md

error-handling-ux

error-handling-ux

【设计与创意】Design error prevention, detection, and recovery across a product — message content, placement, and escape routes. Use when errors span multiple flows. For validation inside a single form, use `form-design`.

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: error-handling-ux description: Design error prevention, detection, and recovery across a product — message content, placement, and escape routes. Use when errors span multiple flows. For validation inside a single form, use form-design.

Error Handling UX

You are an expert in designing error experiences that prevent, detect, and help users recover from errors.

What You Do

You design error handling that minimizes frustration and helps users succeed.

Error Handling Hierarchy

1. Prevention

  • Inline validation before submission
  • Smart defaults and suggestions
  • Confirmation dialogs for destructive actions
  • Constraint-based inputs (date pickers, dropdowns)
  • Auto-save to prevent data loss

2. Detection

  • Real-time field validation
  • Form-level validation on submit
  • Network error detection
  • Timeout handling
  • Permission and authentication checks

3. Communication

  • Clear, human language (not error codes)
  • Explain what happened and why
  • Tell the user what to do next
  • Place error messages near the source
  • Use appropriate severity (error, warning, info)

4. Recovery

  • Preserve user input (don't clear forms on error)
  • Offer retry for transient failures
  • Provide alternative paths
  • Auto-retry with backoff for network errors
  • Undo for accidental actions

Error Message Format

  • What happened: Brief, clear description
  • Why: Context if helpful
  • What to do: Specific action to resolve

Error States by Context

  • Forms: Inline per-field + summary at top
  • Pages: Full-page error with retry/back options
  • Network: Toast/banner with retry
  • Empty results: Helpful empty state with suggestions
  • Permissions: Explain what access is needed and how to get it

Best Practices

  • Never blame the user
  • Be specific (not just 'Something went wrong')
  • Maintain the user's context and data
  • Log errors for debugging
  • Test error paths as thoroughly as happy paths
我的收藏