Language-idiomatic error handling: wrap errors with the failed operation's context, never swallow silently, `Result<T, E>` in Rust, `fmt.Errorf(\"doing X: %w\", err)` in Go, typed exceptions in Python/Java, fail fast on unrecoverable errors. Load when writing or reviewing an error path, a catch/except block, a custom error type, or code that returns or propagates failures.
Installs into .claude/skills of the current project.
Are you the author of Error Handling?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/goldziher-error-handling)
---
name: error-handling
description: "Language-idiomatic error handling: wrap errors with the failed operation's context, never swallow silently, `Result<T, E>` in Rust, `fmt.Errorf(\"doing X: %w\", err)` in Go, typed exceptions in Python/Java, fail fast on unrecoverable errors. Load when writing or reviewing an error path, a catch/except block, a custom error type, or code that returns or propagates failures."
---
- Always wrap errors with context describing what operation failed.
- Never swallow errors silently — either handle, propagate, or log them.
- Use language-idiomatic patterns: `Result<T, E>` in Rust, `if err != nil` with `fmt.Errorf("doing X: %w", err)` in Go, typed exceptions in Python/Java.
- Fail fast on unrecoverable errors.