0Pricing
Dart Academy · Lekcja

Klauzule on i typy wyjątków

Precyzyjne przechwytywanie konkretnych błędów

Klauzule on i typy wyjątków to bezpłatna lekcja Dart Academy na CoddyKit. To lekcja 2 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 Dart Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Dart Academy zawiera 4 lekcji w sumie.

Nie wszystkie błędy są takie same

Błąd pliku i błąd formatu to różne problemy. Dart pozwala przechwytywać je według typu, aby każdy otrzymał właściwą reakcję. 🎯

Słowo kluczowe on

Użyj on, aby przechwycić tylko jeden typ wyjątku. Blok wykona się wyłącznie wtedy, gdy zostanie zgłoszony konkretny rodzaj błędu.

try {
  parse();
} on FormatException {
  print('Bad format');
}

Zachowanie obiektu wyjątku

Połącz on z catch, aby filtrować wyjątki według typu, a jednocześnie pobrać obiekt błędu i odczytać szczegóły jego komunikatu.

on FormatException catch (e) {
  print(e.message);
}

Kolejność ma znaczenie

Dart sprawdza klauzule on od góry do dołu i używa pierwszego dopasowania. Typy szczegółowe należy umieszczać przed ogólnymi, inaczej szczegółowe klauzule nigdy się nie wykonają.

Wiele klauzul on

W jednym try można umieścić kilka klauzul on. Każda obsługuje inny typ wyjątku za pomocą własnej, dopasowanej logiki.

try {
  work();
} on FormatException {
} on RangeError {
}

Ogólna obsługa na końcu

Zwykły catch bez określonego typu przechwytuje wszystko, co pozostało. Należy umieścić go na końcu jako zabezpieczenie po klauzulach typowanych.

} on FormatException {
} catch (e) {
  print('Other: $e');
}

Exception a Error

Dart dzieli błędy na Exception — problemy, z których można się otrząsnąć — oraz Error — błędy programistyczne, które należy naprawić, a nie przechwytywać.

Typowe wbudowane typy

Można spotkać FormatException, RangeError, StateError i ArgumentError. Ich znajomość pozwala precyzyjnie przechwytywać błędy.

Przechwytywanie nadtypu

Klauzula on Exception pasuje do każdego podtypu Exception. Szerokiego typu należy używać, gdy kilka powiązanych błędów ma wspólną obsługę.

try {
  go();
} on Exception catch (e) {
  log(e);
}

Dlaczego filtrowanie typów pomaga

Obsługa typowana utrzymuje przejrzystość kodu: na brakujący plik można zareagować inaczej niż na nieprawidłowe dane wejściowe, zamiast polegać na jednym dużym bloku catch, który próbuje zgadywać.

Połączenie wszystkiego

Ten przykład pokazuje przepływ od szczegółowego przypadku do ogólnego: najpierw typowana klauzula on, a następnie ogólna obsługa przechwytująca, która bezpiecznie zajmuje się resztą.

try {
  run();
} on FormatException catch (e) {
  print(e);
} catch (e) {
  print('Unknown');
}

Szybkie sprawdzenie

Jak przechwycić tylko jeden konkretny typ wyjątku?

Podsumowanie

Potrafi już Pan/Pani wybierać błędy za pomocą on, układać klauzule od szczegółowych do ogólnych i dodawać ogólną obsługę jako zabezpieczenie. Precyzyjna obsługa i przejrzysty kod. ✅

Często zadawane pytania

Czy lekcja „Klauzule on i typy wyjątków” jest bezpłatna?

Tak — pełny tekst „Klauzule on i typy wyjątków” 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 Dart Academy, przejdź na CoddyKit PRO. Kurs Dart Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Klauzule on i typy wyjątków”?

Precyzyjne przechwytywanie konkretnych błędów Ćwiczysz Dart 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ąć Dart Academy?

Nie wymagamy żadnego doświadczenia. Dart 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 2 z 4.

Ile czasu zajmuje lekcja „Klauzule on i typy wyjątków”?

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 Dart Academy?

Tak. Każda lekcja Dart 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. throw, try i catch
  2. Klauzule on i typy wyjątków
  3. finally i gwarantowane sprzątanie
  4. Własne wyjątki i rethrow
← Powrót do Dart Academy