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.