---
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