Swift Academy · पाठ

LocalizedError के साथ कस्टम त्रुटि प्रकार

Error और LocalizedError के अनुरूप समृद्ध त्रुटि एनम डिज़ाइन करें।

पाठ 3, कुल 4 में से12 चरण

LocalizedError के साथ कस्टम त्रुटि प्रकार, CoddyKit पर Swift Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Swift Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

स्वागत है

अच्छी तरह से डिज़ाइन किए गए त्रुटि प्रकारों में समस्याओं का निदान करने और उपयोगकर्ता-अनुकूल संदेश दिखाने के लिए पर्याप्त संदर्भ होता है। `LocalizedError` इसके लिए आवश्यक हुक प्रदान करता है।

मूल त्रुटि enum

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

LocalizedError प्रोटोकॉल

```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 और recoverySuggestion

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

नेस्टेड त्रुटि संदर्भ

```swift enum APIError: Error { case server(statusCode: Int, body: String) case decode(underlying: DecodingError) case timeout } ``` मूल त्रुटि को साथ रखें, ताकि उसे लॉग किया जा सके या डीबग बिल्ड में दिखाया जा सके।

कस्टम त्रुटियाँ उछालना

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

विशिष्ट मामलों को पकड़ना

```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)" } } ```

त्रुटि लपेटने का पैटर्न

```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) } } ```

परीक्षण के लिए Equatable त्रुटियाँ

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

त्वरित जाँच

उपयोगकर्ता को दिखाए जाने वाले त्रुटि संदेशों के लिए `errorDescription` कौन-सा प्रोटोकॉल प्रदान करता है?

पुनरावलोकन

मुख्य बातें: • उपयोगकर्ता को दिखाए जाने वाले संदेशों के लिए त्रुटियों को `LocalizedError` के अनुरूप बनाएँ • संदर्भ साथ रखने के लिए संबंधित मानों का उपयोग करें (स्थिति कोड, तिथियाँ) • निचले स्तर की त्रुटियों को डोमेन-विशिष्ट enum में लपेटें • `Equatable` त्रुटियाँ यूनिट परीक्षण को सरल बनाती हैं • `CustomDebugStringConvertible` डीबगिंग में सहायता करता है अगला: Result को async/await से जोड़ना।
शुरुआत निःशुल्क

एआई शिक्षक के साथ Swift सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
122
पाठ
409

अक्सर पूछे जाने वाले प्रश्न

क्या “LocalizedError के साथ कस्टम त्रुटि प्रकार” पाठ निःशुल्क है?

हाँ — Swift Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “LocalizedError के साथ कस्टम त्रुटि प्रकार” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Swift Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“LocalizedError के साथ कस्टम त्रुटि प्रकार” में मैं क्या सीखूँगा?

Error और LocalizedError के अनुरूप समृद्ध त्रुटि एनम डिज़ाइन करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Swift Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Swift Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Swift Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“LocalizedError के साथ कस्टम त्रुटि प्रकार” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Swift Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Swift Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Result की मूल बातें
  2. Result पर map और flatMap
  3. LocalizedError के साथ कस्टम त्रुटि प्रकार
  4. Result को async/await से जोड़ना
← Swift Academy पर वापस जाएँ