id: error-handling-base name: Error Handling Base description: >- Foundation for error handling patterns. This is a base skill designed to be extended by language-specific error handling skills. tags: [error-handling, foundation, example]
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