Coding for KidsCoding for Kids
रचनात्मक स्तरचुनौतियांशिक्षक गाइड
सुविधाओं के लिए वोट करें
उन्नत पायथन विकास पाठ्यक्रम
अध्याय
>
स्तर

अपवाद प्रबंधन
कस्टम अपवाद

उद्देश्य

उत्पाद आदेशों के साथ संदेशों को इकट्ठा करने और उन्हें वाहक कबूतर के माध्यम से भेजने के लिए कस्टम एक्सेप्शंस का उपयोग करें।

कुछ संदेश फार्म और अन्य स्टेशनों में मैसेंजर कबूतर द्वारा भेजे जाते हैं; यह एक अच्छा विचार होगा कि कुछ संदेश अग्रिम रूप से भेज दिए जाएँ। हम सामान्य एक्सेप्शंस का उपयोग करके त्रुटियाँ पकड़ रहे थे, लेकिन कभी-कभी बहुत विशिष्ट परिदृश्यों के लिए अपने कस्टम एक्सेप्शंस बनाना फायदेमंद हो सकता है। हम अपने कस्टम एक्सेप्शंस का उपयोग करके सही वस्तुओं की पहचान करके संदेशों का स्रोत तय करेंगे और कबूतरों का चयन करेंगे।

कस्टम एक्सेप्शंस को क्लासेस बनाकर एकत्रित किया जाता है, (Exception) क्लॉज जोड़ने से आप किसी क्लास को एक्सेप्शंस निष्पादित करने के लिए पुनः प्रयोग कर सकते हैं। हमारे प्रयोजनों के लिए हम दो बनाएंगे: InvalidLocation जो तब सक्रिय होता है जब किसी विशिष्ट स्ट्रिंग को सत्यापन से नहीं उबारा जाता, और UnsuitableSelection जो यह जांचने के लिए उपयोग किया जाता है कि कोई संख्या एक निश्चित सीमा पार करती है या नहीं।

class InvalidLocation(Exception): "Raised when location is invalid" pass class UnsuitableSelection(Exception): "Raised when pidgeon is 2 or younger" pass

अब जब क्लासेस सेटअप हो गई हैं, तो मेमो एकत्र करने का समय है ताकि उन्हें भेजा जा सके। आने वाले आदान-प्रदान के लिए आवश्यक घटकों को संग्रहीत और संयोजित करने हेतु prep नाम की एक सूची बनाएँ। लाल कालीन पर स्थित गहरे X चिह्न तक जाएँ, मेजों की एक श्रृंखला के सामने जो X चिह्न हैं, हम ऐसे मेमो की तलाश करेंगे जिनके आदेश फार्म के पश्चिमी क्षेत्र के लिए निर्धारित हैं।

इस खंड में चार चर स्थिरांक उपयोग किए गए हैं: red_memo, blue_memo, green_memo और orange_memo। केवल वही मेमो एकत्रित किए जाएँगे जिन्हें "west" क्षेत्र में वितरित करने के लिए चिह्नित किया गया है ताकि उन्हें भेजा जा सके। यह निर्धारित करने के लिए कि हमें मेमो लेना है या नहीं, हम try/except और else कोड ब्लॉक्स का उपयोग InvalidLocation कस्टम एक्सेप्शन के साथ करेंगे। कस्टम एक्सेप्शन का उपयोग करने के लिए, try में जांचें कि क्या मेमो का लेबल "west" है और अगर नहीं है तो एक्सेप्शन उठाएँ। except ब्लॉक पुष्टि करता है कि मेमो अमान्य है और else ब्लॉक मेमो एकत्र करता है तथा उसे prep सूची में जोड़ता है, यदि वह वास्तव में "west" क्षेत्र के लिए निर्धारित है।

उदाहरण के लिए:

try: if red_memo != "west": raise InvalidLocation except InvalidLocation: player.speak("This is not an order that needs to be sent out") else: player.collect(red_memo) prep.append(red_memo)

मेजों के सामने स्थित रंगीन कालीनों पर प्रत्येक गहरे X चिह्न तक जाएँ और संबंधित रंग के लिए उपयुक्त चर स्थिरांक का उपयोग करके एक्सेप्शन अनुक्रम चलाएँ।

एक बार जब आपने मेमो एकत्र कर लिए, तो दरवाजे के सामने स्थित सोने के X चिह्न तक जाएँ और open() फ़ंक्शन का उपयोग करके कबूतर दहलीज तक पहुँचें। अंदर पहुंचने के बाद हल्के X चिह्न तक जाएँ, मुड़ें, और close() फ़ंक्शन का उपयोग करके दरवाजे को बंद कर दें ताकि कोई कबूतर बाहर न निकल सके।

बैंगनी कालीन पर स्थित गहरे X चिह्न की ओर जाएँ, जहाँ पेंस पर हम यह सत्यापित करेंगे कि कबूतर संदेश उड़ाने के लिए पर्याप्त पुराना है या वह एक नवजात है जो वितरण करने में सक्षम नहीं है। इस खंड में चार और चर स्थिरांक उपयोग किए जाएंगे: purple_pen, yellow_pen, white_pen और pink_pen, जो प्रत्येक रंगीन कालीन के अनुरूप हैं। हम मेमो के साथ इस्तेमाल की गई उसी तकनीक का उपयोग करेंगे, जो दूसरी क्लास पर आधारित है।

UnsuitableSelection कस्टम एक्सेप्शन के साथ try/except और else कोड ब्लॉक्स का उपयोग करें, ताकि यह पहचान सकें कि कबूतर संदेश वितरण के लिए पर्याप्त पुराना है या नहीं। try ब्लॉक यह सत्यापित करता है कि पेन का प्रतिनिधित्व करने वाला चर स्थिरांक उपयुक्त कबूतर है या नहीं, यह जांच कर कि कबूतर दो (2) वर्ष से कम उम्र का है। यदि कबूतर अनुपयुक्त होता है तो except ब्लॉक सक्रिय हो जाता है, अन्यथा else ब्लॉक सक्रिय होकर आपको संदेश वितरण हेतु कबूतर को prep सूची में जोड़ने की अनुमति देता है।

try: if purple_pen <= 2: raise UnsuitableSelection except UnsuitableSelection: player.speak("Pigeon unsuitable to deliver") else: prep.append(purple_pen) player.speak("Pigeon Collected")

रंगीन कालीनों पर स्थित प्रत्येक गहरे X चिह्न तक जाएँ और सही रंगीन कालीन के अनुरूप सही चर स्थिरांक का उपयोग करते हुए इस अनुक्रम का उपयोग करें। एक बार जब आपने कबूतर और मेमो एकत्र कर लिए, तो सबसे नीचे स्थित सोने के X चिह्न तक जाएँ और place() फ़ंक्शन का उपयोग करते हुए बनाई गई prep सूची के साथ कबूतरों को संदेश भेजने एवं स्तर पूरा करने के लिए भेज दें।

कोड बुक