0Pricing
Swift Academy · Ders

do/catch ve hata tanımlama (enum'lar)

Hata enum'ları tanımlayın, bunları işlevlerden fırlatın ve başarısızlıkları do/catch kalıplarıyla (belirli durumlar, catch let, genel catch) ele alın.

do/catch ve hata tanımlama (enum'lar), CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Swift Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Swift Academy kursu toplamda 3 dersten oluşur.

Genel bakış

Bu derste türü belirlenmiş hataların tanımlanmasına ve bunların yap/yakala yapısıyla işlenmesine odaklanılır. Bir numaralandırma üzerinden hata fırlatacak ve anlaşılır kurtarma yolları için belirli durumları yakalayacaksınız.

Hata numaralandırması

Error protokolüne uyan özel bir numaralandırma tanımlayın. İlişkili değerler yararlı bağlam bilgileri ekler.

enum FileError: Error {
    case notFound(path: String)
    case unreadable(path: String)
    case corrupted
}
print("Defined FileError enum")

Hata fırlatmanın temelleri

Başarısız olabilecek işlevleri hata fırlatır olarak işaretleyin. Ön koşullar karşılanmadığında belirli durumları fırlatın.

func loadText(from path: String) throws -> String {
    if path.isEmpty { throw FileError.notFound(path: "(empty)") }
    if !path.hasSuffix(".txt") { throw FileError.unreadable(path: path) }
    return "Contents of " + path
}
print("Ready to throw on bad input")

Belirli hataları yakalama

Yap/dene/yakala yapısını kullanın. Önce belirli yakalama durumlarını, ardından geri kalanlar için genel bir yakalamayı yerleştirin.

do {
    let text = try loadText(from: "notes.txt")
    print(text)
} catch FileError.notFound(let p) {
    print("Missing file at:", p)
} catch FileError.unreadable(let p) {
    print("Cannot read:", p)
} catch {
    print("Other error:", error)
}

Hata yakalama ve seçim

YourError türündeki hatayı yakalayın ve ardından kullanıcı dostu iletileri biçimlendirmek için switch kullanın.

do {
    _ = try loadText(from: "")
} catch let error as FileError {
    switch error {
    case .notFound(let p): print("not found:", p)
    case .unreadable(let p): print("unreadable:", p)
    case .corrupted: print("file corrupted")
    }
} catch {
    print("unexpected:", error.localizedDescription)
}

Kurtarma veya yeniden fırlatma

Kurtarma (bir yedek değer döndürme) ya da çağırana yeniden fırlatma arasında karar verin. Kuralları basit ve öngörülebilir tutun.

func mustLoad(_ path: String) throws -> String {
    do {
        return try loadText(from: path)
    } catch FileError.notFound {
        // simple recovery: default content
        return "New file template"
    } catch {
        // escalate unknown issues
        throw error
    }
}
print(try? mustLoad("report.txt") ?? "(nil)")

Özel hata kalıbı

Hızlı kontrol: Özel hataları tanımlamanın deyimsel yolu nedir?

Özet

Özet: Error protokolüne uyan bir numaralandırmayla türü belirlenmiş hatalar tanımlayın, kesin durumları fırlatın ve bunları belirli dalları önce, geneli en sona koyarak yap/yakala yapısıyla işleyin.

Sıkça Sorulan Sorular

“do/catch ve hata tanımlama (enum'lar)” dersi ücretsiz mi?

Evet — “do/catch ve hata tanımlama (enum'lar)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Swift Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Swift Academy kursu toplamda 3 dersten oluşur.

“do/catch ve hata tanımlama (enum'lar)” dersinde ne öğreneceğim?

Hata enum'ları tanımlayın, bunları işlevlerden fırlatın ve başarısızlıkları do/catch kalıplarıyla (belirli durumlar, catch let, genel catch) ele alın. Swift Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Swift Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Swift Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.

“do/catch ve hata tanımlama (enum'lar)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Swift Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Swift Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Optional zincirleme ve temel hata işleme
  2. do/catch ve hata tanımlama (enum'lar)
  3. Result türleri — Result
← Swift Academy Sayfasına Dön