Zig Academy · पाठ

Functions से Errors लौटाना

signatures में failure को स्पष्ट करें।

पाठ 2, कुल 4 में से13 चरण

Functions से Errors लौटाना, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

हस्ताक्षर में विफलता

जब कोई फ़ंक्शन विफल हो सकता है, तो उसके रिटर्न प्रकार में यह बताएं। ParseError!u32 जैसा त्रुटि-यूनियन हर कॉल करने वाले को पहले ही सावधान कर देता है।

fn parse(s: []const u8) ParseError!u32 {
    // ...
}

सफलता का मान लौटाएँ

सफल स्थिति में आप सामान्य रूप से पेलोड को लौटाते हैं। Zig आपके लिए उस साधारण मान को यूनियन के सफलता-पक्ष में रख देता है।

return 42;

इसके बजाय त्रुटि लौटाएँ

विफल होने के लिए उसी स्थान पर अपनी किसी त्रुटि को लौटाएँ। एक ही return कथन तय करता है कि यूनियन का कौन-सा पक्ष आप उत्पन्न कर रहे हैं।

if (s.len == 0) return error.Empty;

एक return, दो परिणाम

त्रुटि-यूनियन वाला फ़ंक्शन एक शाखा में मान और दूसरी में त्रुटि लौटा सकता है। दोनों घोषित प्रकार के अनुरूप होते हैं।

if (ok) return value;
return error.Failed;

Void और त्रुटियाँ

जो फ़ंक्शन काम करता है लेकिन कोई मान नहीं देता, वह फिर भी विफल हो सकता है। !void का उपयोग करें, ताकि सफलता पर कुछ न लौटे और विफलता पर त्रुटि लौटे।

fn save() !void {
    // ...
}

कॉल स्थल पर त्रुटियाँ ऊपर आती हैं

जब आप विफल हो सकने वाले फ़ंक्शन को कॉल करते हैं, तो आपको भी त्रुटि-यूनियन मिलता है। आप इसे अनदेखा नहीं कर सकते; कंपाइलर आपको इसे संभालने के लिए बाध्य करता है।

const n = parse(input);

if से त्रुटियाँ पकड़ें

if यूनियन को बाँट सकता है: मुख्य शाखा में मान और else के बाद त्रुटि को पाइप से नाम दें।

if (parse(input)) |n| {
    use(n);
} else |err| {
    report(err);
}

त्रुटि-समूह का सटीक नाम दें

! से पहले सटीक समूह लिखने पर आपका अनुबंध सही रहता है। कॉल करने वालों को मुख्य भाग पढ़े बिना सभी संभावित विफलताएँ पता चल जाती हैं।

fn open(p: []const u8) FileError!File {}

त्रुटियाँ फ़ंक्शन की सीमाएँ पार करती हैं

आपके कोड के भीतर गहराई में लौटाई गई त्रुटि तभी बाहर आती है, जब शृंखला का हर फ़ंक्शन यह घोषित करे कि वह भी विफल हो सकता है।

विफलता को स्पष्ट बनाएँ

यही Zig के त्रुटि-प्रबंधन का मूल है: विफलता कभी छिपी नहीं रहती। हस्ताक्षर इस बात का वादा है कि क्या गलत हो सकता है।

कंपाइलर आपकी रक्षा करता है

लौटाई गई त्रुटि को संभालना भूलें, तो बिल्ड विफल हो जाता है। Zig संभावित विफलता को चुपचाप आगे निकलने नहीं देता।

त्वरित जाँच

कोई फ़ंक्शन काम करता है, उपयोगी मान नहीं लौटाता, फिर भी विफल हो सकता है। कौन-सा रिटर्न प्रकार उपयुक्त है?

पुनरावृत्ति

आपने !T से विफल हो सकने वाले फ़ंक्शन घोषित किए, एक return से मान या त्रुटियाँ लौटाईं, और देखा कि कंपाइलर कॉल करने वालों को उन्हें संभालने के लिए बाध्य करता है। ✅

शुरुआत निःशुल्क

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

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

पाठ्यक्रम
30
पाठ
120

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

क्या “Functions से Errors लौटाना” पाठ निःशुल्क है?

हाँ—“Functions से Errors लौटाना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“Functions से Errors लौटाना” में मैं क्या सीखूँगा?

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

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

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

“Functions से Errors लौटाना” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. Error Sets और !T Union
  2. Functions से Errors लौटाना
  3. try से Failures Propagate करना
  4. Inferred Error Sets
← Zig Academy पर वापस जाएँ