पायथन को छोड़कर कोशिश करें
try
ब्लॉक आपको त्रुटियों के लिए कोड के एक ब्लॉक का परीक्षण करने देता है ।
except
ब्लॉक आपको त्रुटि को संभालने देता है ।
जब else
कोई त्रुटि नहीं होती है तो ब्लॉक आपको कोड निष्पादित करने देता है।
ब्लॉक आपको कोशिश के परिणाम की finally
परवाह किए बिना और ब्लॉक को छोड़कर कोड निष्पादित करने देता है।
एक्सेप्शन हेंडलिंग
जब कोई त्रुटि होती है, या अपवाद जैसा कि हम इसे कहते हैं, पायथन सामान्य रूप से रुक जाएगा और एक त्रुटि संदेश उत्पन्न करेगा।
try
इन अपवादों को कथन का उपयोग करके नियंत्रित किया जा सकता है :
उदाहरण
ब्लॉक एक try
अपवाद उत्पन्न करेगा, क्योंकि x
परिभाषित नहीं है:
try:
print(x)
except:
print("An exception occurred")
चूंकि कोशिश ब्लॉक एक त्रुटि उत्पन्न करता है, ब्लॉक को छोड़कर निष्पादित किया जाएगा।
कोशिश ब्लॉक के बिना, प्रोग्राम क्रैश हो जाएगा और एक त्रुटि उत्पन्न करेगा:
उदाहरण
यह कथन एक त्रुटि उत्पन्न करेगा, क्योंकि x
परिभाषित नहीं है:
print(x)
कई अपवाद
आप जितने चाहें उतने अपवाद ब्लॉक को परिभाषित कर सकते हैं, उदाहरण के लिए यदि आप किसी विशेष प्रकार की त्रुटि के लिए कोड के एक विशेष ब्लॉक को निष्पादित करना चाहते हैं:
उदाहरण
एक संदेश प्रिंट करें यदि कोशिश ब्लॉक NameError
अन्य त्रुटियों के लिए एक और दूसरे को उठाता है:
try:
print(x)
except NameError:
print("Variable x
is not defined")
except:
print("Something else went
wrong")
अन्यथा
else
यदि कोई त्रुटि नहीं उठाई गई तो आप कोड के ब्लॉक को निष्पादित करने के लिए कीवर्ड का उपयोग कर सकते हैं :
उदाहरण
इस उदाहरण में, try
ब्लॉक कोई त्रुटि उत्पन्न नहीं करता है:
try:
print("Hello")
except:
print("Something went
wrong")
else:
print("Nothing went wrong")
आखिरकार
यदि निर्दिष्ट किया गया finally
है, तो ब्लॉक को निष्पादित किया जाएगा, भले ही कोशिश ब्लॉक में कोई त्रुटि हो या नहीं।
उदाहरण
try:
print(x)
except:
print("Something went
wrong")
finally:
print("The 'try except' is finished")
यह वस्तुओं को बंद करने और संसाधनों को साफ करने के लिए उपयोगी हो सकता है:
उदाहरण
ऐसी फ़ाइल को खोलने और लिखने का प्रयास करें जो लिखने योग्य नहीं है:
try:
f = open("demofile.txt")
try:
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()
except:
print("Something went wrong when opening the
file")
फ़ाइल ऑब्जेक्ट को खुला छोड़े बिना प्रोग्राम जारी रह सकता है।
एक अपवाद उठाएं
एक पायथन डेवलपर के रूप में यदि कोई स्थिति होती है तो आप अपवाद फेंकना चुन सकते हैं।
अपवाद को फेंकने (या बढ़ाने) के लिए, raise
कीवर्ड का उपयोग करें।
उदाहरण
एक त्रुटि उठाएँ और प्रोग्राम को रोकें यदि x 0 से कम है:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below
zero")
कीवर्ड का raise
उपयोग अपवाद बढ़ाने के लिए किया जाता है।
आप परिभाषित कर सकते हैं कि किस प्रकार की त्रुटि को उठाना है, और पाठ को उपयोगकर्ता को प्रिंट करना है।
उदाहरण
यदि x पूर्णांक नहीं है, तो TypeError बढ़ाएँ:
x = "hello"
if not type(x) is int:
raise TypeError("Only
integers are allowed")