W

error-handling-patterns

von wshobson

error-handling-patterns unterstützt Teams dabei, zwischen Exceptions und Result-Typen zu wählen, Fehler sauber zu klassifizieren, Kontext weiterzugeben und Graceful Degradation für zuverlässigere APIs und Services zu gestalten.

Stars32.6k
Favoriten1
Kommentare0
Hinzugefügt30. März 2026
KategorieReliability
Installationsbefehl
npx skills add https://github.com/wshobson/agents --skill error-handling-patterns
Kurationswert

Diese Skill erreicht 78/100 und ist damit ein solider Kandidat für das Verzeichnis: Nutzer erhalten umfangreiche, wiederverwendbare Orientierung zur Auswahl und Anwendung von Fehlerbehandlungsansätzen, sollten aber eher eine dokumentationslastige Referenz als einen direkt ausführbaren Workflow mit Tooling-Unterstützung erwarten.

78/100
Stärken
  • Hohe Auffindbarkeit durch eine konkrete Beschreibung und explizite „When to Use This Skill“-Szenarien für API-Design, Debugging, Retries, asynchrone Fehler und verteilte Systeme.
  • Substanzielle inhaltliche Tiefe: eine lange SKILL.md mit vielen Abschnitten, Codeblöcken sowie Abdeckung von Exceptions, Result-Typen, Fehlerweitergabe, Graceful Degradation und sprachspezifischen Mustern.
  • Nützlicher Mehrwert für die Installationsentscheidung von Entwicklern, die konzeptionelle und praktische Orientierung zu Resilience-Patterns suchen, ohne Platzhalterinhalte oder offensichtliche Qualitätswarnzeichen im Repo.
Hinweise
  • Es gibt keine Support-Dateien, Referenzen, Regeln oder Skripte; die Ausführung hängt daher davon ab, dass der Agent die Prosa korrekt interpretiert, statt konkreten Artefakten zu folgen.
  • Die Belege zeigen eine breite konzeptionelle Abdeckung, aber nur begrenzte explizite Workflow- oder Entscheidungsleitplanken, sodass manche Implementierungsentscheidungen dem generischen Modellurteil überlassen bleiben.
Überblick

Überblick über den error-handling-patterns-Skill

Was der error-handling-patterns-Skill leistet

Der error-handling-patterns-Skill hilft einem Agenten dabei, ein besseres Verhalten im Fehlerfall zu entwerfen, statt nur try/catch-Blöcke nachträglich zu flicken. Im Fokus stehen praktische Entscheidungen: wann Exceptions sinnvoll sind und wann Result-ähnliche Rückgaben besser passen, wie sich behebbare von nicht behebbaren Fehlern trennen lassen, wie Kontext sauber weitergegeben wird und wie Systeme bei teilweisen Ausfällen kontrolliert degradiert werden.

Für wen dieser Skill gedacht ist

Dieser Skill passt besonders gut für Entwickler, Tech Leads und auf Reliability ausgerichtete Teams, die an APIs, Services, asynchronen Workflows, Integrationen oder verteilten Systemen arbeiten. Besonders nützlich ist er, wenn du konsistente Fehlersemantik über eine ganze Codebasis hinweg brauchst statt punktueller Einzelfixes.

Welches Problem er löst

Die meisten Nutzer brauchen keine Theoriestunde über Fehler. Sie brauchen Hilfe bei Fragen wie: Was sollte sofort hart fehlschlagen? Was sollte erneut versucht werden? Was sollte strukturierte Fehler an Aufrufer zurückgeben? Was sollte geloggt, sichtbar gemacht, verpackt oder bewusst unterdrückt werden? Der error-handling-patterns-Skill ist dann besonders wertvoll, wenn diese Entscheidungen Wartbarkeit, Debugging-Geschwindigkeit oder Verfügbarkeit beeinflussen.

Was ihn von einem generischen Prompt unterscheidet

Ein generischer Prompt liefert oft nur oberflächliche Hinweise wie „füge Retries hinzu“ oder „verwende try/catch“. Dieser Skill ist stärker auf Entscheidungen ausgerichtet. Er strukturiert Fehlerbehandlung entlang von Grundprinzipien, Fehlerkategorien und sprachspezifischen Mustern und eignet sich damit besser für Architektur- und Implementierungsleitlinien, die Reliability tatsächlich unterstützen.

Was du vor der Installation wissen solltest

Dies ist ein dokumentationsgetriebener Skill mit nur einer SKILL.md-Datei und ohne Hilfsskripte, Referenzen oder Beispiel-Assets. Das macht die Einführung einfach, bedeutet aber auch: Die Qualität der Ergebnisse hängt stark davon ab, wie präzise dein Prompt ist und wie viel Code- bzw. Systemkontext du mitgibst.

So verwendest du den error-handling-patterns-Skill

Installationsoptionen für error-handling-patterns

Installation aus dem Repository mit:

npx skills add https://github.com/wshobson/agents --skill error-handling-patterns

Wenn deine Umgebung Skills aus diesem Repo ohnehin bereits synchronisiert, musst du error-handling-patterns in deinem Agent-Workflow möglicherweise nur noch per Namen aktivieren oder aufrufen.

Was du nach der Installation zuerst lesen solltest

Starte mit:

  • plugins/developer-essentials/skills/error-handling-patterns/SKILL.md

Da dieser Skill als ein zentrales Dokument ausgeliefert wird, gibt es keinen langen Onboarding-Pfad. Lies zuerst die Abschnitte „When to Use This Skill“ und „Core Concepts“ und spring dann direkt zu den sprachspezifischen Teilen, die für deinen Stack relevant sind.

Welche Eingaben der Skill für gute Ergebnisse braucht

Der error-handling-patterns-Skill funktioniert am besten, wenn du Folgendes angibst:

  • Sprache und Framework
  • Laufzeittyp: CLI, API, worker, UI, service, library
  • Fehlerbilder, die dich interessieren
  • Ob der Aufrufer nutzerseitig, intern oder machine-to-machine ist
  • Vorhandene Randbedingungen wie Abwärtskompatibilität, Latenzbudgets oder Logging-Standards

Schwache Eingabe: „Verbessere das Error Handling in diesem Service.“

Starke Eingabe: „Prüfe diesen Go-HTTP-Service. Trenne Validierungsfehler von Abhängigkeitsfehlern, empfehle Retry-Grenzen, definiere, was an Clients zurückgegeben und was intern geloggt werden soll, und schlage Error-Wrapping-Muster vor, die die eigentliche Ursache erhalten.“

So machst du aus einem groben Ziel einen starken Prompt

Nutze eine Prompt-Struktur wie diese:

  1. Benenne System und Sprache.
  2. Nenne die Fehlerszenarien.
  3. Beschreibe das gewünschte Verhalten für Aufrufer und Operatoren.
  4. Bitte um konkrete Muster statt allgemeiner Prinzipien.
  5. Fordere Empfehlungen auf Code-Ebene an, wenn du Quellcode teilen kannst.

Beispiel:

Use the error-handling-patterns skill for a Python background worker that calls a rate-limited API and writes to Postgres. I need recommendations for transient vs permanent error handling, retry policy boundaries, idempotency concerns, logging fields, and what errors should stop the job versus be skipped and reported.

Die besten Workflows für den praktischen Einsatz

Nutze diesen Skill in einem von drei Modi:

  • Design-Modus: vor der Implementierung, um Fehlerverträge und Recovery-Verhalten festzulegen
  • Refactoring-Modus: wenn eine Codebasis inkonsistente Exceptions, Rückgabewerte oder Logging-Muster hat
  • Incident-Modus: nach Produktionsausfällen, um das Handling entlang realer Fehlerklassen neu zu entwerfen

Für die meisten Teams ist der wertvollste Workflow: Fehler klassifizieren -> Weitergabemodell wählen -> Verhalten gegenüber Aufrufern definieren -> Observability ergänzen -> Fehlerpfade testen.

Wo der error-handling-patterns-Skill am stärksten ist

Der Skill ist besonders stark, wenn du Orientierung zu folgenden Themen brauchst:

  • Exceptions vs Result-Typen
  • behebbare vs nicht behebbare Fehler
  • Retry- und Circuit-Breaker-Denken
  • asynchrone und konkurrierende Fehlerbehandlung
  • besseres Debugging und mehr Operator-Kontext
  • kontrollierte Degradation in Reliability-sensiblen Systemen

Er ist hilfreicher für Policy- und Musterentscheidungen als für das Generieren von frameworkspezifischem Boilerplate.

Repository-Lesepfad für eine schnellere Bewertung

Wenn du entscheidest, ob du den error-handling-patterns-Skill übernehmen solltest, überfliege das Repository in dieser Reihenfolge:

  1. Überschriftenliste in SKILL.md
  2. „When to Use This Skill“
  3. „Core Concepts“
  4. Abschnitte zu sprachspezifischen Mustern
  5. Alle Beispiele zu Retries, Propagation und Graceful Failure

So erkennst du schnell, ob der Skill zu deinem Stack passt und ob er über normales Prompting hinaus genug Struktur bietet.

Praktische Tipps, die die Ausgabequalität verbessern

Bitte den Skill darum, Trade-offs explizit zu machen. Gute Prompts enthalten Fragen wie:

  • Welche Fehler sind erwartete fachliche Ergebnisse und welche echte Exceptions?
  • Wo sollten Retries liegen, damit keine doppelte Arbeit entsteht?
  • Welcher Kontext sollte vor dem erneuten Werfen oder Zurückgeben ergänzt werden?
  • Welche Fehler sollten für Nutzer sichtbar, bereinigt oder nur intern bleiben?
  • Wann sollte das System degradieren statt abzubrechen?

Diese Details sind in der Regel wichtiger, als einfach nach „Best Practices“ zu fragen.

Grenzen und Fälle, in denen der Skill nicht passt

Erwarte nicht, dass dieser Skill tiefgehende Framework-Dokumentation, SRE-Playbooks oder Referenzen zur Sprach-Runtime ersetzt. Er bringt weder ausführbare Tools noch Lint-Regeln mit. Wenn du nur Hilfe zur Syntax eines einzelnen Sprachkonstrukts brauchst, ist ein gezielter Prompt oft schneller. Die error-handling-patterns usage-Story ist am stärksten, wenn dein eigentliches Problem Design-Konsistenz und Reliability unter Fehlerbedingungen ist.

FAQ zum error-handling-patterns-Skill

Ist error-handling-patterns gut für Einsteiger?

Ja, sofern du grundlegenden Kontrollfluss bereits verstehst und eine strukturierte Anleitung für den Umgang mit Fehlern suchst. Weniger geeignet ist der Skill als allererste Einführung in Programmierfehler, weil er sich auf Designentscheidungen konzentriert und nicht nur auf Syntax.

Wann sollte ich das statt eines normalen Coding-Prompts verwenden?

Nutze error-handling-patterns, wenn das Verhalten im Fehlerfall das eigentliche Kernproblem ist. Wenn dir API-Verträge, Retries, degradierte Betriebsmodi oder Observability bei Fehlern wichtig sind, liefert dieser Skill einen deutlich besseren Rahmen als eine generische Anfrage wie „füge Error Handling hinzu“.

Unterstützt der Skill mehrere Sprachen?

Ja. Die Quelle behandelt ausdrücklich sprachübergreifende Konzepte wie Exceptions, Result-Typen und Fehlerkategorien und geht danach in sprachspezifische Muster über. Dadurch ist der Skill auch für Teams mit gemischtem Stack sinnvoll — du solltest deine Sprache im Prompt aber trotzdem klar angeben.

Ist error-handling-patterns für Reliability-Teams geeignet?

Ja. Der error-handling-patterns for Reliability-Fit ist stark, weil der Skill dabei hilft festzulegen, wie Systeme bei Abhängigkeitsfehlern, partiellen Ausfällen und asynchronen Fehlern reagieren sollen. Besonders relevant ist er für Service Owner, die ein konsistentes Verhalten sowohl für Operatoren als auch für Aufrufer brauchen.

Wo liegen die Grenzen des Skills?

Dieser Skill hilft bei Entscheidungen und Implementierungsmustern rund um Fehlerfälle. Er liefert keine Test-Harnesses, keine Produktions-Dashboards und keine repositoryspezifische Automatisierung. Empfehlungen müssen weiterhin gegen deine Architektur und deine Incident-Historie validiert werden.

Wann ist dieser Skill keine gute Wahl?

Überspringe ihn, wenn dein Bedarf rein mechanisch ist, etwa das Beheben eines einzelnen Compilerfehlers oder das Erlernen der exakten Syntax eines bestimmten Exception-Typs in einem Framework. Ebenfalls weniger passend ist er, wenn das eigentliche Problem fehlende Domänenregeln sind und nicht eine schwache Struktur der Fehlerbehandlung.

So verbesserst du den error-handling-patterns-Skill

Gib dem error-handling-patterns-Skill eine Fehlerlandkarte, nicht nur Code

Bessere Ergebnisse bekommst du, wenn du die Fehlerlandschaft konkret benennst:

  • validation errors
  • dependency timeouts
  • rate limits
  • partial writes
  • duplicate requests
  • deserialization failures
  • programmer bugs

So kann der Skill unterschiedliche Behandlungswege empfehlen, statt ein einziges Muster auf jeden Fehler zu pressen.

Trenne Aufrufererlebnis und Operator-Erlebnis

Ein häufiger Fehler ist, nach „besseren Fehlern“ zu fragen, ohne zu sagen, für wen. Teile dem Skill mit, was Endnutzer sehen sollen, was API-Clients zurückbekommen sollen und was Operatoren in Logs oder Traces benötigen. Das führt zu deutlich nützlicheren Empfehlungen für Sanitization, Wrapping und die Weitergabe von Kontext.

Bitte um eine explizite Fehlertaxonomie

Wenn die erste Antwort zu generisch wirkt, bitte den error-handling-patterns-Skill darum, Folgendes auszuarbeiten:

  • Fehlerklassen oder -kategorien
  • Grenzen zwischen behebbaren und nicht behebbaren Fehlern
  • Regeln für retryable vs non-retryable
  • Abbildung interner Fehler auf externe Responses

Dadurch wird vager Rat oft zu umsetzbarer Anleitung.

Liefere echte Randbedingungen, die die Musterwahl verändern

Muster unterscheiden sich deutlich, wenn du strikte Latenz-SLOs, teure Retries, Idempotenzrisiken oder abwärtskompatible API-Verträge hast. Nenne solche Randbedingungen direkt. Sie entscheiden oft darüber, ob du ein Result zurückgeben, eine Exception auslösen, früh abbrechen, für später in eine Queue legen oder kontrolliert degradieren solltest.

Fordere nach dem ersten Entwurf eine Überarbeitung an

Ein starker zweiter Durchgang sieht oft so aus:

Revise the recommendation for a high-throughput service. Minimize allocation-heavy exception paths, preserve root cause for debugging, and propose a small set of standard error types the whole team can adopt.

Iteration ist wichtig, weil das beste Muster von Skalierung, Zielgruppe und betrieblichen Auswirkungen abhängt.

Häufige schwache Prompts, die du vermeiden solltest

Vermeide Prompts wie:

  • „Handle errors better“
  • „Add retries everywhere“
  • „Make it production ready“

Sie verschleiern die Entscheidungskriterien. Der Skill ist deutlich wirksamer, wenn er zwischen Trade-offs wählen soll, statt Code nur mit defensiven Konstrukten zu dekorieren.

So validierst du die Ausgabe

Nachdem du den error-handling-patterns guide verwendet hast, prüfe, ob die Empfehlung:

  • erwartete Fehler von Bugs unterscheidet
  • Retry-Stürme vermeidet
  • genug Kontext fürs Debugging erhält
  • sichere, stabile Fehler an Aufrufer exponiert
  • kontrollierte Degradation dort unterstützt, wo sie sinnvoll ist

Wenn nicht, schärfe den Prompt mit konkreten Fehlerfällen und gewünschten Ergebnissen nach, statt abstrakt nur nach mehr Detailtiefe zu fragen.

Bewertungen & Rezensionen

Noch keine Bewertungen
Teile deine Rezension
Melde dich an, um für diesen Skill eine Bewertung und einen Kommentar zu hinterlassen.
G
0/10000
Neueste Rezensionen
Wird gespeichert...