Zig Academy · Lekcja

Propagowanie niepowodzeń za pomocą try

Przekazuj błędy wyżej za pomocą jednego słowa kluczowego.

Lekcja 3 z 413 kroki

Propagowanie niepowodzeń za pomocą try to bezpłatna lekcja Zig Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Zig Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Zig Academy zawiera 4 lekcji w sumie.

Obsługa staje się powtarzalna

Zapisywanie if-else wokół każdego wywołania funkcji mogącej zakończyć się niepowodzeniem, aby przekazać jej błąd dalej, szybko zaśmieca kod. Zig oferuje skrót: słowo kluczowe try.

try rozpakowuje albo zwraca

Umieść try przed wywołaniem funkcji mogącej zakończyć się niepowodzeniem. W przypadku powodzenia otrzymasz wartość, a w przypadku błędu funkcja zwróci ten błąd.

const n = try parse(input);

To tylko cukier składniowy

Ten jeden wiersz robi dokładnie to samo co samodzielne przechwycenie błędu i jego zwrócenie. try po prostu zapisuje za Ciebie kod pomocniczy.

const n = parse(input) catch |e| return e;

Twoja funkcja musi dopuszczać błędy

Ponieważ try może zwrócić błąd, otaczająca funkcja musi mieć typ zwracany będący unią błędów. W przeciwnym razie kompilator odrzuci kod.

fn run() !void {
    const n = try parse(input);
}

Łączenie wielu wyrażeń try

Umieść kilka wyrażeń try jedno po drugim. Każde z nich natychmiast kończy funkcję w przypadku niepowodzenia, dzięki czemu ścieżka powodzenia jest czytelna od góry do dołu.

const f = try open(path);
const data = try read(f);

try wewnątrz wyrażeń

Możesz umieścić try bezpośrednio wewnątrz większego wyrażenia. Rozpakowana wartość trafia prosto do otaczającego wywołania lub działania matematycznego.

const total = base + try parse(input);

try z wywołaniami void

Nawet gdy wywołanie zwraca !void, użyj try, aby przekazać dalej każde niepowodzenie. Nie otrzymasz żadnej wartości, a jedynie wcześniejszy powrót w przypadku błędu.

try file.writeAll(data);

Błędy wędrują w górę stosu

Gdy każda warstwa używa try, błąd z głębi kodu propaguje się aż do momentu, w którym któryś z wywołujących zdecyduje się go obsłużyć.

Czytelna ścieżka powodzenia

Największą korzyścią jest przejrzystość: przekazywanie błędów sprowadza się do jednego słowa kluczowego, dzięki czemu główna logika pozostaje na pierwszym planie.

try nie obsługuje błędów

Pamiętaj, że try jedynie przekazuje błąd dalej — nigdy go nie obsługuje. Aby zareagować lokalnie, użyj catch.

Kiedy przekazywać błąd dalej

Użyj try, gdy właściwym działaniem jest pozostawienie obsługi niepowodzenia wywołującemu. Większość funkcji pośrednich po prostu przekazuje błędy wyżej.

Szybkie sprawdzenie

Wewnątrz funkcji zapisujesz try doThing(). Co się stanie, jeśli doThing zwróci błąd?

Podsumowanie

Poznano działanie try: rozpakowuje wartość w przypadku powodzenia, a w przeciwnym razie zwraca błąd. Jest skrótem dla catch i przekazania błędu, dzięki czemu kod pozostaje czysty. ✅

Bezpłatny start

Ucz się Zig dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Propagowanie niepowodzeń za pomocą try” jest bezpłatna?

Tak — pełny tekst „Propagowanie niepowodzeń za pomocą try” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Zig Academy, przejdź na CoddyKit PRO. Kurs Zig Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Propagowanie niepowodzeń za pomocą try”?

Przekazuj błędy wyżej za pomocą jednego słowa kluczowego. Ćwiczysz Zig Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Zig Academy?

Nie wymagamy żadnego doświadczenia. Zig Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Propagowanie niepowodzeń za pomocą try”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Zig Academy?

Tak. Każda lekcja Zig Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Zbiory błędów i unia !T
  2. Zwracanie błędów z funkcji
  3. Propagowanie niepowodzeń za pomocą try
  4. Wnioskowane zbiory błędów
← Powrót do Zig Academy