error-handling-patterns

Design and implement error handling across Python, TypeScript, Rust, and Go with patterns and checklists.

Updated Dec 13, 2025
One-click install
npx skills add https://github.com/OTSOU-CODE/OTSOU --skill error-handling-patterns-otsou-code
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: error-handling-patterns
Source: https://github.com/OTSOU-CODE/OTSOU/tree/main/.agent/skills/error-handling-patterns
Command: npx skills add https://github.com/OTSOU-CODE/OTSOU --skill error-handling-patterns-otsou-code

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill provides a consolidated set of patterns, checklists, and best practices to design and implement robust error handling across languages, reducing debugging time and increasing reliability.

Core Features & Use Cases

  • Language-agnostic guidance on error categories (recoverable vs unrecoverable) and appropriate patterns (exceptions, Result types, and error codes).
  • Concrete, language-specific examples across Python, TypeScript/JavaScript, Rust, and Go, plus universal resilience patterns like retries and circuit breakers.
  • Best-practice checklists for API design, async error handling, and graceful degradation in distributed systems.

Quick Start

Analyze a failing API call in a Python service and apply the recommended error-handling pattern to return a clear, actionable error response.

Frequently Asked Questions about error-handling-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What's the best way to implement error handling for API design across different languages?

The best way to implement error handling for API design is to apply language-agnostic patterns like distinguishing recoverable from unrecoverable errors, while using language-specific examples in Python, TypeScript, Rust, and Go to return clear, actionable error responses.

How do I handle asynchronous errors and apply retry patterns in distributed systems?

To handle asynchronous errors and apply retry patterns, use best-practice checklists for async error handling and universal resilience patterns like circuit breakers and graceful degradation to maintain stability across distributed systems.

When should I use Result types instead of exceptions for error handling?

You should use Result types instead of exceptions when implementing error handling in languages like Rust or Go, applying language-agnostic guidance to match appropriate patterns such as Result types or error codes to specific error categories.

Does this error handling guidance work for both Python and TypeScript services?

Yes, this error handling guidance works for Python and TypeScript services by providing concrete, language-specific examples alongside universal resilience patterns to increase reliability and reduce debugging time across these languages.

What are the limitations of using circuit breakers for error handling?

Circuit breakers for error handling should be used as part of a broader strategy that includes graceful degradation and retries, applying best-practice checklists to ensure they properly manage recoverable versus unrecoverable errors in distributed systems.

How do I analyze a failing API call and return a clear error response?

To analyze a failing API call and return a clear error response, apply recommended error-handling patterns from the provided checklists to categorize the failure and implement an actionable, graceful degradation response in your target language.