Skip to content

Error Handling Patterns

Patterns for detecting, reporting, and recovering from failures.

Core Principle

Fail fast on precondition failures. Degrade gracefully on runtime failures.


Overview

Error handling is about when and how your automation responds to problems.

Pattern When to Use Strategy
Fail Fast Invalid input, missing config Stop immediately, report clearly
Prerequisite Checks Complex preconditions Validate all upfront before work
Graceful Degradation Fallbacks exist Degrade to safer state, continue

Decision Flow

flowchart TD
    A[Error Detected] --> B{Can recover?}
    B -->|No| C[Fail Fast]
    B -->|Yes| D{Before work started?}
    D -->|Yes| E[Prerequisite Check]
    D -->|No| F[Graceful Degradation]

    %% Ghostty Hardcore Theme
    style A fill:#f92572,color:#1b1d1e
    style B fill:#fd971e,color:#1b1d1e
    style C fill:#f92572,color:#1b1d1e
    style D fill:#fd971e,color:#1b1d1e
    style E fill:#65d9ef,color:#1b1d1e
    style F fill:#a7e22e,color:#1b1d1e

Quick Reference

Scenario Pattern Reasoning
Missing required config Fail Fast Can't continue safely
Invalid user input Fail Fast User error, report immediately
Complex deployment requirements Prerequisite Checks Validate tools, access, state
API timeout Graceful Degradation Retry or use backup
Service unavailable Graceful Degradation Fall back to alternatives

Fail fast when you can't recover. Degrade gracefully when you can.

Comments