Jak obsługiwać błędy w kodzie asynchronicznym?
Najpierw odpowiedz na głos lub w myślach, potem porównaj.
Odpowiedź
Gdy używam await, obejmuję operację try/catch tam, gdzie potrafię sensownie zdecydować, co zrobić po błędzie. Nie każdy błąd należy ukryć. Czasem trzeba pokazać użytkownikowi komunikat, czasem ponowić próbę, a czasem przekazać błąd wyżej.
Ważne, żeby funkcja faktycznie czekała na operację. try { fetch(url); } nie przechwyci późniejszego odrzucenia tak jak try { await fetch(url); }. Trzeba też pamiętać, że fetch zwykle nie odrzuca Promise tylko dlatego, że serwer odpowiedział 404 lub 500 — sprawdzam response.ok albo status odpowiedzi.
Dlaczego to ważne: Zewnętrzne API i modele AI regularnie zwracają błędy.
Możliwe dopytania: Czy błąd braku uprawnień warto automatycznie ponawiać?
Jak poszło? Bądź szczery — „Jeszcze nie” dodaje pytanie do powtórki.
Dalsza lektura
- Node.js: The Event Loop(otwiera się w nowej karcie)Docs; dostęp 22.10.2026. Fazy event loop, timery i zależności od wersji Node/libuv.