Claude-skill-registry Error Handling Base

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/error-handling-base" ~/.claude/skills/majiayu000-claude-skill-registry-error-handling-base && rm -rf "$T"
manifest: skills/data/error-handling-base/SKILL.md
source content

Error Handling Base

Core insight: Good error handling is about communication - to users, developers, and monitoring systems.

Rules

  • Always handle errors explicitly - never ignore them
  • Use meaningful error messages that describe what went wrong
  • Include context in error messages (what was being attempted)
  • Log errors at appropriate levels (error vs warning vs info)
  • Distinguish between recoverable and unrecoverable errors

Pitfalls

  • Swallowing exceptions without logging
  • Using generic error messages like "An error occurred"
  • Exposing internal implementation details in user-facing errors
  • Catching broad exception types when specific ones are needed

Examples

// Bad: Generic error
throw new Error("Error");

// Good: Descriptive error with context
throw new Error(`Failed to parse config file '${filename}': ${parseError.message}`);

Checklist

  • All error paths are handled explicitly
  • Error messages are actionable and descriptive
  • Sensitive information is not leaked in errors
  • Errors are logged before being re-thrown or converted