Specific Errors पर Switch करना
लौटाए गए error के आधार पर शाखा बनाएँ।
Specific Errors पर Switch करना, CoddyKit पर Zig Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Zig Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सभी त्रुटियाँ समान नहीं होतीं
एक ही वैकल्पिक मान शायद ही हर विफलता के लिए उपयुक्त हो। गुम फ़ाइल और गलत इनपुट को अक्सर अलग-अलग ढंग से संभालना पड़ता है, इसलिए आप यह देखकर अलग शाखा बनाना चाहते हैं कि कौन-सी त्रुटि हुई।
पहले पकड़ें, फिर switch करें
catch से त्रुटि पकड़ें, फिर उसे switch में दें। हर मामला किसी एक विशिष्ट त्रुटि का अपने तरीके से उत्तर दे सकता है।
open(path) catch |err| switch (err) {
error.NotFound => create(path),
else => return err,
};त्रुटियाँ switch के मान होती हैं
error.NotFound जैसी त्रुटि एक सामान्य मान होती है, इसलिए switch उससे उसी तरह मिलान करता है जैसे किसी पूर्णांक या enum टैग से।
switch (err) {
error.Timeout => retry(),
error.Denied => reportDenied(),
}switch पूर्ण होना चाहिए
किसी त्रुटि पर किए गए switch में समुच्चय की हर संभावित त्रुटि शामिल होनी चाहिए। एक भी मामला छूटने पर Zig कंपाइल करने से इनकार कर देता है।
बाकी को else से संभालें
जिस त्रुटि का नाम आपने नहीं दिया, उसे पकड़ने के लिए else शाखा जोड़ें। इससे हर विकल्प की सूची बनाए बिना switch पूर्ण बना रहता है।
switch (err) {
error.NotFound => createDefault(),
else => return err,
}हर शाखा एक मान लौटाती है
क्योंकि switch एक व्यंजक है, हर शाखा एक मान दे सकती है। फिर पूरा catch वही मान देता है जो मिलान करने वाली शाखा लौटाती है।
const n = parse(s) catch |e| switch (e) {
error.Empty => 0,
else => -1,
};अल्पविराम से त्रुटियों को समूहित करें
जब कई त्रुटियों के लिए एक ही उत्तर हो, तो उन्हें एक शाखा में अल्पविराम से अलग करके लिखें। इससे संबंधित मामले व्यवस्थित और साथ रहते हैं।
switch (err) {
error.Timeout, error.Reset => retry(),
else => return err,
}जिसे संभाल न सकें, उसे फिर से फेंकें
किसी शाखा में आप त्रुटि को ऊपर भेजने के लिए return कर सकते हैं। जिन मामलों को आप समझते हैं, उन्हें संभालें और बाकी का काम कॉल करने वाले पर छोड़ दें।
else => return err,पहले try के साथ जोड़ें
अक्सर आप सामान्य मार्ग पर try करते हैं और केवल उन त्रुटियों पर switch करते हैं जिन्हें सचमुच विशेष तर्क की आवश्यकता होती है। इससे सफल मार्ग साफ़ रहता है।
विशिष्टता से स्पष्टता
त्रुटियों पर switch करने से यह स्पष्ट रूप से दर्ज होता है कि आप किन विफलताओं की अपेक्षा करते हैं। पाठक हर मामला और उसके प्रति आपके कोड की प्रतिक्रिया देख सकता है।
कंपाइलर आपका साथ देता है
क्योंकि switch पूरा होना चाहिए, बाद में नई त्रुटि जोड़ने पर आपको उसे संभालना पड़ेगा। छूटे हुए मामले बग नहीं, बल्कि बिल्ड त्रुटियाँ बन जाते हैं।
त्वरित जाँच
आप पकड़ी गई त्रुटि पर switch करते हैं, लेकिन केवल कुछ विकल्पों की सूची देते हैं। Zig आपसे क्या अपेक्षा करता है?
पुनरावलोकन
आपने त्रुटि पकड़कर प्रति-त्रुटि शाखा बनाने, संबंधित मामलों को समूहित करने और बाकी को फिर से फेंकने के लिए switch का उपयोग किया। कंपाइलर इसे पूर्ण बनाए रखता है। ✅
एआई शिक्षक के साथ Zig सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “Specific Errors पर Switch करना” पाठ निःशुल्क है?
हाँ—“Specific Errors पर Switch करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Zig Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Zig Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Specific Errors पर Switch करना” में मैं क्या सीखूँगा?
लौटाए गए error के आधार पर शाखा बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Zig Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Zig Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Zig Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“Specific Errors पर Switch करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Zig Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Zig Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- catch से Recover करना
- Specific Errors पर Switch करना
- Failure Cleanup के लिए errdefer
- Errors को Wrap और Re-throw करना