← ClaudeAtlas

error-handlinglisted

Use when designing error-handling strategy for a feature — error classification, throw-vs-return conventions, retry/circuit-breaker/fallback decisions, and error-to-user-message mapping. Triggers on "error handling", "retry strategy", "circuit breaker", "error propagation", "错误处理", "重试策略", "熔断", "降级" — also when user says "这个错误该怎么处理" / "要不要重试". Not for diagnosing a specific bug (use debugging); system-level resilience architecture (use architecture).
int2t05/engineering-skills · ★ 3 · Code & Development · score 74
Install: claude install-skill int2t05/engineering-skills
## When to use - Designing how errors propagate across layers for a new feature or service boundary - Choosing retry, circuit-breaker, or fallback strategy for calls to external systems - Establishing throw-vs-return conventions for a module or codebase - Mapping internal errors to user-facing messages at an edge boundary **Not for:** diagnosing a specific bug or test failure (use `debugging`); system-level resilience architecture — cross-service error strategy, overall failure posture (use `architecture`, specifically `architecture/references/error-resilience.md`); API error response envelope shape (use `api-design`); production logging/metrics instrumentation (use `observability`). ## Steps For system-level resilience architecture (cross-service error propagation, failure posture design), read [architecture's error-resilience reference](${CLAUDE_PLUGIN_ROOT}/skills/03-design/architecture/references/error-resilience.md) first. This skill is the implementation-level companion — the decisions you make at the keyboard when writing the error-handling code. ### 1. Classify errors Every error falls into one of four categories, and the category drives the strategy: | Category | Examples | Strategy | |---|---|---| | **Transient** | network timeout, 503, connection reset | retry with backoff (step 3) | | **Permanent** | 404, 400, logic failure | fail fast, no retry | | **Validation** | bad input, schema mismatch | return 422-style result to caller | | **Auth** | expired token,