Przejdź do głównej zawartości

Przepisy obsługi błędów to gotowe do wklejenia prompty dla Claude Code, Codeksa i Cursora na cztery zadania wokół awarii produkcyjnej: debugowanie, logowanie, odzyskiwanie i monitorowanie. Każdy przepis trzyma się jednej zasady: agent dołącza dowód, że sprawdzenie padało przed zmianą i przechodzi po niej, więc zatwierdzasz dowód, a nie czytasz każdej linii.

Ta strona jest dla programistów, którzy oddają błędy produkcyjne agentowi, i dla tech leadów, którzy zatwierdzają te poprawki. Znasz tę sytuację: API zwraca 500, w logach jest Error: undefined, a pierwsza poprawka agenta owija wywołanie w try/catch. Błąd znika z dashboardu, ale nie z ekranów twoich użytkowników.

Który przepis obsługi błędów pasuje do twojego problemu?

Dział zatytułowany „Który przepis obsługi błędów pasuje do twojego problemu?”

Zacznij od objawu. Ostatnia kolumna to dowód, który agent dołącza do pull requesta.

Twój problemPrzepisSprawdzenie, które to dowodzi
Błąd, który widzisz, ale nie umiesz wyjaśnić: stack trace, sporadyczna awaria, wyciek, wyścigWzorce debugowaniaReprodukcja, która pada na niepoprawionym kodzie i przechodzi po poprawce
Logi to napisy z console.log, bez identyfikatorów żądań, albo wyciekają w nich sekretyWzorce logowaniaTest, który sprawdza pola strukturalne i to, że sekret nigdy nie trafia do wyjścia
Niestabilna zależność, która pociąga za sobą twoją usługęWzorce odzyskiwaniaTest chaosu lub wstrzykiwania błędów, który wyłącza zależność i sprawdza ścieżkę awaryjną
Użytkownicy znajdują błędy przed tobą: brak alertów, zbyt głośne alerty, brak SLOWzorce monitorowania i logowaniapromtool test rules i zapytanie, które zwraca prawdziwe dane

Zaczynasz od zera? Najpierw popraw logi, bo każdy inny przepis potrzebuje dowodów, które agent potrafi odczytać. Potem debuguj istniejące awarie, dodaj odzyskiwanie tam, gdzie zależność ciągle zawodzi, a na końcu alerty, żeby następna awaria dotarła do ciebie, zanim zauważy ją klient.

Proces wokół poprawki (alarmowanie, triaż, postmortem) opisuje strona reagowanie na incydenty z AI. Zasadę, która zamienia każdy błąd produkcyjny w test regresyjny, znajdziesz w error-driven development.

Daj agentowi reguły obsługi błędów przed każdym przepisem

Dział zatytułowany „Daj agentowi reguły obsługi błędów przed każdym przepisem”

Bez reguł agent optymalizuje pod cichy log: połyka wyjątki, dodaje optional chaining i zwraca wartości domyślne dla danych, które muszą istnieć. Zapisz reguły raz, tam, gdzie każde narzędzie wczytuje je automatycznie.

## Error-handling rules
- Never swallow an error: no empty catch, no catch that only logs and continues,
no default value for data that must exist. Rethrow, or return a typed error.
- Classify every new catch: "expected sometimes" (handle it, log at warn) or
"should never happen" (fail loudly, log at error with context).
- Log with the project logger in structured form, with the request ID. Never log
tokens, passwords, cookies, or full request bodies.
- Every bug fix starts with a test or script that reproduces the bug and fails.
Never edit, skip, or loosen that test to make it pass.
- Retries only for idempotent calls, with a cap, backoff, and jitter.

Zapisz ten blok jako regułę projektu w .cursor/rules/, ustawioną na stosowanie zawsze. Trzymaj ten sam tekst co w plikach pozostałych narzędzi, żeby zmiana reguł docierała do każdego agenta.

Najważniejsza jest reguła „nie osłabiaj testu”, a sama reguła to zaufanie, nie egzekwowanie. Ochrona wyroczni pokazuje, jak ustawić test reprodukujący jako tylko do odczytu dla agenta.

Jak zweryfikować obsługę błędów przez agenta bez czytania każdej linii?

Dział zatytułowany „Jak zweryfikować obsługę błędów przez agenta bez czytania każdej linii?”

Każdy przepis kończy się sprawdzeniem, które wykonuje maszyna, a pull request zawiera jego wynik.

  • Najpierw czerwono, potem zielono. Reprodukcja pada na niepoprawionym kodzie i przechodzi po poprawce. Test, który nigdy nie padł, niczego nie dowodzi.
  • Bramki działają w CI. Pełny zestaw testów, sprawdzanie typów i lint uruchamiają się na pull requeście, nie tylko w sesji agenta.
  • Drugi agent porównuje diff z diagnozą. Uruchom /code-review w sesji Claude Code, codex exec review --uncommitted w terminalu albo Bugbota na pull requeście w Cursorze i każ mu szukać ukrytych błędów: nowych bloków catch, osłabionych asercji, wartości domyślnych dla wymaganych danych.
  • Produkcja potwierdza poprawkę. Po wdrożeniu odsetek tego błędu zostaje na zerze przez co najmniej jeden szczyt ruchu. Sprawdza to programista, który wdrożył poprawkę.

Programista odpowiada za dowody, a tech lead zatwierdza, gdy wszystkie są na miejscu. Pełną tabelę dowodów znajdziesz w części jak udowodnić poprawkę błędu bez czytania każdej linii. Celowe wstrzykiwanie błędów poza jedną zależnością opisuje strona testowanie przez wstrzykiwanie błędów.