SKILL.md
Error Handling Strategies
Purpose
Implement robust error handling that gracefully manages failures, provides clear feedback, and maintains system stability.
When to Use
- Writing any code that can fail
- Handling external API calls
- Processing user input
- Managing file I/O operations
- Dealing with network requests
Key Capabilities
- Error Detection - Identify potential failure points
- Error Recovery - Implement fallback strategies
- Error Communication - Provide clear, actionable messages
Approach
- Identify what can go wrong (invalid input, network failure, etc.)
- Validate inputs before processing
- Use try-catch or error returns appropriately
- Provide context in error messages
- Log errors with sufficient debugging information
- Implement retry logic for transient failures
Example
Context: File reading operation ```python def readconfig(filepath): try: with open(filepath, 'r') as f: return json.load(f) except FileNotFoundError: logger.error(f"Config file not found: {filepath}") return getdefault_config() except json.JSONDecodeError as e: logger.error(f"Invalid JSON in {filepath}: {e}") raise ConfigurationError(f"Config file is malformed at line {e.lineno}") except PermissionError: logger.error(f"Cannot read {filepath}: Permission denied") raise ConfigurationError(f"Insufficient permissions for {filepath}") ```
Best Practices
- ✅ Fail fast for programming errors
- ✅ Recover gracefully from external failures
- ✅ Include context in error messages
- ❌ Avoid: Silent failures or generic error messages