Propagowanie niepowodzeń za pomocą try
Przekazuj błędy wyżej za pomocą jednego słowa kluczowego.
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. ✅
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
- Zbiory błędów i unia !T
- Zwracanie błędów z funkcji
- Propagowanie niepowodzeń za pomocą try
- Wnioskowane zbiory błędów