0Pricing
Swift Academy · Lekcja

Obsługa błędów

Obsługa błędów

Obsługa błędów to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 1. 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 Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 1 lekcji w sumie.

Wprowadzenie

Dzień dobry,

Podczas działania aplikacji mogą wystąpić błędy zależne od kodu naszej aplikacji (np. błędy logiczne) lub od środowiska, w którym aplikacja jest uruchomiona.

Obsługa błędów może być używana do identyfikowania i kontrolowania występujących błędów.

Typy błędów

Po wystąpieniu błędu obsługa błędów może zapobiec zakłóceniu działania aplikacji, zapisać błędy w dzienniku lub w niektórych przypadkach zamknąć aplikację, gdy jej dalsze działanie jest niemożliwe.

Niektóre błędy mogą być spowodowane błędami logicznymi w kodzie napisanym przez programistów. Na przykład aplikacja zgłosi błąd, gdy wymusimy rozpakowanie wartości opcjonalnej, o którym dowiedzieliśmy się w poprzedniej sekcji.

W niektórych przypadkach błędy mogą wystąpić niezależnie od programisty. Na przykład jeśli na urządzeniu, na którym działa aplikacja, zabraknie miejsca na dysku, w naszej aplikacji również wystąpi błąd.

Niestandardowy enum błędów

Możemy samodzielnie definiować niestandardowe błędy za pomocą enum. W poniższym przykładzie typy błędów, które mogą wystąpić podczas wprowadzania danych karty kredytowej, zostały dodane pod nazwą CreditCardError.

enum CreditCardError: Error {
    case insufficientFunds
    case issuerDeclined
    case invalidCVC
}

Słowo kluczowe throws

Jeśli napisana przez nas metoda może generować błąd, do jej definicji dodaje się słowo kluczowe throws.

Poniżej przedstawiono przykład składni.

func processPayment(creditcard: String) throws {
}

Słowo kluczowe throw

Czasami podczas pisania kodu programista może potrzebować zgłosić błąd.

Wyobraźmy sobie następującą sytuację. Piszemy system płatności dla banku. 

Podczas płatności kartą kredytową saldo klienta jest niewystarczające. W takim przypadku możemy zgłosić błąd informujący o niewystarczających środkach.

throw CreditCardError.insufficientFunds

Blok do-catch

Blok do-catch

Gdy chcemy użyć metod, które mogą powodować błędy w naszej aplikacji, możemy przechwycić potencjalne błędy, umieszczając ten kod w blokach do-catch.

Kod, który może powodować błędy, umieszczamy w bloku do, a potencjalne błędy zostaną przechwycone w bloku catch.

Przyjrzyjmy się poniższemu przykładowi

do {
   //Code block that may throw an Error
}
catch let error {
    print(error)
}

Składnia try

Oprócz słowa kluczowego try mamy także użycia try! oraz try?. 

Przyjrzyjmy się naszemu przykładowi.

// if an error was thrown, app will crash
let result = try! doSomething() 


if let result = try? make() {
    //If the make method is successful, the result is unwrap. It is a very elegant use.
} else {
    //make() threw an error.
}

Wiele bloków catch

Jeśli wywoływana przez nas metoda może zgłaszać wiele błędów, możemy je filtrować i kierować przebiegiem aplikacji w zależności od typu błędu.

W poniższym przykładzie każdy blok catch obsługuje inny możliwy błąd.

do {
    try doSomething()
} catch CustomError.errorOne {
  //handle errorOne Error
} catch CustomError.errorTwo(let customErr) {
   //handle errorTwo Error with customErr
}

Gratulacje

Gratulacje 🎉

W tej lekcji nauczyli się Państwo obsługiwać błędy aplikacji za pomocą Swift.

Do zobaczenia w następnej lekcji.

Obsługa błędów — ilustracja 9

Często zadawane pytania

Czy lekcja „Obsługa błędów” jest bezpłatna?

Tak — pełny tekst „Obsługa błędó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 Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 1 lekcji w sumie.

Co nauczysz się w „Obsługa błędów”?

Obsługa błędów Ćwiczysz Swift 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ąć Swift Academy?

Nie wymagamy żadnego doświadczenia. Swift 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 1 z 1.

Ile czasu zajmuje lekcja „Obsługa błędó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 Swift Academy?

Tak. Każda lekcja Swift 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.

← Powrót do Swift Academy