0Pricing
Swift Academy · Ders

LocalizedError ile Özel Hata Türleri

Error ve LocalizedError protokollerine uyan kapsamlı hata sıralı türleri tasarlayın.

LocalizedError ile Özel Hata Türleri, CoddyKit'te ücretsiz bir Swift Academy dersidir. Bu, 4 dersinin 3. 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 4 dersten oluşur.

Hoş Geldiniz

İyi tasarlanmış hata türleri, sorunları teşhis etmek ve kullanıcı dostu mesajlar göstermek için yeterli bağlam taşır. `LocalizedError` bunun için gerekli mekanizmaları sağlar.

Temel Hata Türü

```swift enum AuthError: Error { case invalidCredentials case accountLocked(until: Date) case networkUnavailable } ```

LocalizedError Protokolü

```swift extension AuthError: LocalizedError { var errorDescription: String? { switch self { case .invalidCredentials: return "Username or password is incorrect." case .accountLocked(let date): return "Account locked until \(date.formatted())." case .networkUnavailable: return "No internet connection." } } } print(AuthError.invalidCredentials.localizedDescription) ```

failureReason ve recoverySuggestion

```swift extension AuthError: LocalizedError { var failureReason: String? { "Authentication service rejected the request." } var recoverySuggestion: String? { "Reset your password or contact support." } } ```

İç İçe Hata Bağlamı

```swift enum APIError: Error { case server(statusCode: Int, body: String) case decode(underlying: DecodingError) case timeout } ``` Alt düzey hatayı, kaydedilebilmesi veya hata ayıklama derlemelerinde gösterilebilmesi için taşıyın.

Özel Hataları Fırlatma

```swift func login(user: String, pass: String) throws -> Token { guard !user.isEmpty && !pass.isEmpty else { throw AuthError.invalidCredentials } // ... } ```

Belirli Durumları Yakalama

```swift do { let token = try login(user: u, pass: p) } catch AuthError.invalidCredentials { showAlert("Bad credentials") } catch AuthError.accountLocked(let date) { showAlert("Locked until \(date)") } catch { showAlert(error.localizedDescription) } ```

CustomDebugStringConvertible

```swift extension AuthError: CustomDebugStringConvertible { var debugDescription: String { "AuthError.\(self)" } } ```

Hataları Sarmalama Örüntüsü

```swift enum AppError: Error { case auth(AuthError) case api(APIError) case unknown(Error) } func process() throws { do { try login() } catch let e as AuthError { throw AppError.auth(e) } catch { throw AppError.unknown(error) } } ```

Test Edilebilir Eşitlenebilir Hatalar

```swift enum FetchError: Error, Equatable { case notFound case serverError(code: Int) } XCTAssertEqual(error, FetchError.notFound) ```

Kısa Kontrol

Kullanıcıya gösterilecek hata mesajları için `errorDescription` özelliğini hangi protokol sağlar?

Özet

Temel çıkarımlar: • Kullanıcıya gösterilecek mesajlar için hataları `LocalizedError` protokolüne uygun hale getirin • Bağlam taşımak için ilişkili değerleri kullanın (durum kodları, tarihler) • Alt düzey hataları alana özgü enum'lar içinde sarmalayın • `Equatable` hataları birim testlerini kolaylaştırır • `CustomDebugStringConvertible` hata ayıklamaya yardımcı olur Sırada: Result ile asenkron kod arasında köprü kurma.

Sıkça Sorulan Sorular

“LocalizedError ile Özel Hata Türleri” dersi ücretsiz mi?

Evet — “LocalizedError ile Özel Hata Türleri” 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 4 dersten oluşur.

“LocalizedError ile Özel Hata Türleri” dersinde ne öğreneceğim?

Error ve LocalizedError protokollerine uyan kapsamlı hata sıralı türleri tasarlayı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, 4 dersinin 3. dersidir.

“LocalizedError ile Özel Hata Türleri” 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. Result Temelleri
  2. Result Üzerinde map ve flatMap
  3. LocalizedError ile Özel Hata Türleri
  4. Result'ı async/await'e Uyarlama
← Swift Academy Sayfasına Dön