इस ट्यूटोरियल में, हम पायथन के try और except के बारे में जानेंगे। पायथन में एरर और एक्सेप्शन हैंडलिंग नामक एक अवधारणा है।
try और except कीवर्ड्स का उपयोग एरर और एक्सेप्शन हैंडलिंग में किया जाता है।
मूल रूप से, हम पायथन में दो प्रकार के एरर्स पाते हैं। वे हैं -
सिंटैक्स एरर्स - पायथन इस प्रकार के एरर देता है जब यह प्रोग्राम में कोड की एक लाइन को नहीं समझता।
एक्सेप्शन एरर्स - प्रोग्राम के रनटाइम के दौरान पता लगने वाले एरर्स। उदाहरण: ZeroDivisionError, ValueError, आदि।
हम सिंटैक्स एरर्स को नहीं रोक सकते। लेकिन, हम try-except का उपयोग करके प्रोग्राम को बता सकते हैं कि क्या यह एक एक्सेप्शन एरर में चलता है। आइए पायथन में सबसे आम एक्सेप्शन एरर्स देखें।
ZeroDivisionError - यह तब होता है जब हम किसी संख्या को शून्य (0) से विभाजित करने का प्रयास करते हैं।
ValueError - यह तब उठता है जब हम किसी फंक्शन को अनुचित मान पास करते हैं।
IndexError - जब हम उस इंडेक्स को एक्सेस करने का प्रयास करते हैं जो उपलब्ध नहीं है।
KeyError - जब हम उस कुंजी को एक्सेस करने का प्रयास करते हैं जो डिक्शनरी में मौजूद नहीं है।
ImportError - यदि हम किसी ऐसे मॉड्यूल को इम्पोर्ट करने का प्रयास करते हैं जो मौजूद नहीं है।
IOError - यह तब होता है जब पायथन कोई फ़ाइल नहीं खोल सकता।
KeyboardInterrupt - यह तब होता है जब उपयोगकर्ता कोई अनावश्यक कुंजी दबाता है।
पायथन में कई एक्सेप्शनल एरर्स हैं। हम इन्हें try-except के साथ आसानी से संभाल सकते हैं। आइए पहले try-except का सिंटैक्स देखें।
# try-except सिंटैक्स
try:
# स्टेटमेंट
# स्टेटमेंट
# ...
except:
# स्टेटमेंट
# स्टेटमेंट
# ...पायथन try-except ब्लॉक्स के कोड को कैसे निष्पादित करता है? आइए चरण दर चरण देखें।
सबसे पहले, पायथन try ब्लॉक के अंदर का कोड निष्पादित करता है।
यदि कोड में कोई एक्सेप्शन एरर नहीं है, तो except ब्लॉक निष्पादित नहीं होगा।
यदि कोड में कोई एक्सेप्शन एरर होता है, तो try ब्लॉक को छोड़ दिया जाएगा और except ब्लॉक का कोड निष्पादित होगा।
यदि कोई एक्सेप्शन एरर होता है और except ब्लॉक इसे संभाल नहीं सकता, तो संबंधित एक्सेप्शन एरर उठाया जाएगा।
हम एक try ब्लॉक के लिए कई except स्टेटमेंट्स रख सकते हैं।
उदाहरण
आइए एक उदाहरण देखें जहां कोई एक्सेप्शन एरर नहीं है।
# कोई एक्सेप्शन एरर नहीं
try:
arr = [1, 2, 3, 4, 5]
# वैध इंडेक्स के साथ ऐरे से आइटम एक्सेस करना
two = arr[1]
print(f\"We didn't get any errors {two}\")
except IndexError:
print(\"The given index is not valid\")आउटपुट
यदि आप उपरोक्त प्रोग्राम चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
We didn't get any errors 2
हमें कोई एक्सेप्शन एरर्स नहीं मिले। इसलिए, try ब्लॉक में कोड निष्पादित हुआ।
उदाहरण
आइए उसी उदाहरण को अमान्य इंडेक्स के साथ देखें।
# कोई एक्सेप्शन एरर नहीं
try:
arr = [1, 2, 3, 4, 5]
# अमान्य इंडेक्स के साथ ऐरे से आइटम एक्सेस करना
six = arr[6]
print(f\"We didn't get any errors {six}\")
except IndexError:
print(\"The given index is not valid\")आउटपुट
यदि आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्न परिणाम मिलेगा।
The given index is not valid
हमें try ब्लॉक में IndexError मिला। इसलिए, except ब्लॉक में कोड निष्पादित हुआ।
उदाहरण
आइए देखें कि क्या होता है यदि except एक्सेप्शन एरर को संभाल नहीं सकता।
# कोई एक्सेप्शन एरर नहीं
try:
arr = [1, 2, 3, 4, 5]
# अमान्य इंडेक्स के साथ ऐरे से आइटम एक्सेस करना
six = arr[6]
print(f\"We didn't get any errors {six}\")
except ValueError:
print(\"The given index is not valid\")आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
--------------------------------------------------------------------------- IndexError Traceback (most recent call last)in 3 4 arr = [1, 2, 3, 4, 5] 5 # accesing an item from array with a invalid index ----> 6 six = arr[6] 7 print(f\"We didn't get any errors {six}\") 8 except ValueError: IndexError: list index out of range
हमें एक एरर मिला। हमने ValueError except ब्लॉक में दिया था। लेकिन, हमें IndexError मिला जिसे except ब्लॉक द्वारा नहीं संभाला गया। इसलिए, हमें एरर मिला। except ब्लॉक में एक्सेप्शन एरर निर्दिष्ट करते समय सावधान रहें।
निष्कर्ष
यदि ट्यूटोरियल के संबंध में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में बताएं।