पायथन में विभिन्न प्रकार के अपवादों को पकड़ना
एक ही कोड में विभिन्न प्रकार के अपवादों को पकड़ने की आवश्यकता हो सकती है।
मान लीजिए कि हमें शून्य से विभाजन पर अपवाद पकड़ना है। इस प्रकार की त्रुटि पर निम्नलिखित अपवाद प्राप्त होता है:
ZeroDivisionError: division by zero
इसे पकड़ने के लिए, अपवाद का नाम except ब्लॉक में लिखें:
try:
print(1 / 0)
except ZeroDivisionError:
print('error: do not divide by zero')
साथ ही मान लीजिए कि हमारे पास एक सूची है:
lst = [1, 2, 3]
यदि try ब्लॉक में किसी अन्य संभावित त्रुटि वाला कोड डाला जाए, उदाहरण के लिए, गैर-मौजूदा तत्व को आउटपुट करना, तो वह अपवाद जो except ब्लॉक में नहीं पकड़ा गया है, आगे बढ़ेगा और कंसोल में प्रिंट होगा। जिसके कारण कोड का काम रुक जाएगा:
lst = [1, 2, 3]
try:
print(lst[4]) # यह IndexError: list index out of range आउटपुट करेगा
except ZeroDivisionError:
print('error: do not divide by zero')
इस स्थिति का समाधान करने के लिए, प्रत्येक ब्लॉक में संबंधित प्रकार के अपवाद का नाम निर्दिष्ट करना होगा। आइए हमारे कोड में गुम तत्व के लिए अपवाद जोड़ें:
try:
print(lst[4])
except ZeroDivisionError:
print('error: do not divide by zero')
except IndexError:
print('error: elem is not exist')
निम्नलिखित कोड दिया गया है:
txt = '2'
res1 = txt + 3
res2 = txt1
चर res1 और res2 में प्रस्तुत अपवादों को पकड़ने के लिए कोड लिखें।