खुद त्रुटि उठाना
अब तक रुकना उसी पंक्ति से आता था: या तो शून्य से भाग, या ऐसा नाम जिसे मान मिला ही नहीं। raise दूसरा रास्ता है। रुकना आप खुद कार्यक्रम में लिखते हैं, नाम आप चुनते हैं, और उसके पास एक छोटा संदेश रखते हैं।
raise ValueError("empty")
print("water")
प्रोग्राम raise पर रुक जाता है। स्क्रीन पर ValueError और शब्द empty आता है। print("water") तक बारी पहुँचती नहीं। यहाँ कोई भाग नहीं हो रहा। यह रुकना raise ने बनाया है, किसी हिसाब ने नहीं।
cups = 0
if cups < 1:
raise ValueError("empty")
print("water")
यह प्रोग्राम नए सिरे से चलता है। cups शून्य है। शून्य एक से छोटा है, इसलिए if के अंदर प्रवेश होता है और raise चलता है। स्क्रीन फिर वही रुकना दिखाती है: ValueError और शब्द empty। water नहीं लिखा जाता। इस पन्ने पर इस रुकने को कोई पकड़ता नहीं, इसलिए प्रोग्राम वहीं खत्म हो जाता है।
cups = 3
if cups < 1:
raise ValueError("empty")
print("water")
यह भी नए सिरे से चलता है। इस बार cups 3 है। तीन एक से छोटा नहीं, इसलिए if में प्रवेश नहीं होता। raise चलता ही नहीं। स्क्रीन सिर्फ water लिखती है, और रुकना होता नहीं।
raise की पंक्ति if के नीचे दाईं ओर खिसकी है। यही खिसकाव उसे if के अंदर रखता है। print("water") खिसका नहीं है। raise चल जाए तो प्रोग्राम रुक चुका होता है और water की बारी नहीं आती। if छूट जाए तो water चलता है।
raise के पास जो नाम लिखा है वह ValueError है, ZeroDivisionError नहीं। ZeroDivisionError शून्य से भाग का नाम था। यहाँ प्यालों की गिनती काम की नहीं, इसलिए रुकने का नाम ValueError है। अगर बाद में इसे पकड़ें, तो except को ValueError कहना होगा। except ZeroDivisionError इसे नहीं पकड़ता। ऐसा पकड़ना इस पन्ने के प्रोग्रामों में नहीं है। उद्धरण के अंदर जो है वह संदेश है। empty आपने इसलिए रखा है कि नाम के पास दिखे। Python वहाँ None नहीं लिखता।
अगला पन्ना फ़ाइलें हैं। यह पन्ना सिर्फ यह दिखाता है कि रुकना आप खुद बनाते हैं। यह कोई फ़ाइल नहीं खोलता।
प्याले और वह रुकना जो आपने लिखा
पहला प्रोग्राम raise पर रुकता है और water नहीं लिखा जाता। cups शून्य हो तो if में प्रवेश होता है और वही रुकना आता है। cups 3 हो तो raise नहीं चलता और स्क्रीन water लिखती है। इस रुकने का नाम ValueError है। अगला पन्ना फ़ाइलें हैं।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी