Python try...except स्टेटमेंट अपवाद पकड़ता है। इसका उपयोग कोड को त्रुटि के लिए टेस्ट करने के लिए किया जाता है जिसे "try" स्टेटमेंट में लिखा जाता है। यदि त्रुटि आती है, तो "except" ब्लॉक की सामग्री चलाई जाती है।
Python में Try और Except का उपयोग कैसे करें
आप कोड के विशेष ब्लॉक को टेस्ट करना चाह सकते हैं ताकि यह सुनिश्चित हो सके कि यह बाकी प्रोग्राम को चलाने की अनुमति देने से पहले सही ढंग से कार्य करता है। उदाहरण के लिए, मान लीजिए आपने किसी प्रोग्राम के लिए बड़ी मात्रा में नया कोड लिखा है। आप बाकी प्रोग्राम को चलाने देने से पहले यह सुनिश्चित करना चाहेंगे कि यह काम करता है।
try...except ब्लॉक्स आपको अपना कोड टेस्ट करने और अपवाद होने पर उसे संभालने देते हैं। आप finally और else स्टेटमेंट्स जोड़ सकते हैं ताकि try...except ब्लॉक के परिणाम के आधार पर अतिरिक्त कोड चलाया जा सके।
इस ट्यूटोरियल में, हम Python में try और except का उपयोग कैसे करें, इस बारे में बात करने जा रहे हैं। हम एक उदाहरण का संदर्भ देंगे ताकि आप try और except का उपयोग जल्दी से शुरू कर सकें।
Python Errors और Exceptions पुनर्कथन
Python में, दो प्रकार की त्रुटियां हैं जिनका आप सामना कर सकते हैं: सिंटैक्स त्रुटियां और अपवाद।
Python सिंटैक्स त्रुटियां त्रुटि का एक प्रकार है जो तब लौटती है जब आप गलत सिंटैक्स का उपयोग करते हैं। उदाहरण के लिए, यदि आप अंत में कोलन के बिना while True लूप लिखते हैं, तो प्रोग्राम त्रुटि की रिपोर्ट करेगा।
जब सिंटैक्स त्रुटियां होती हैं, तो वे फ़ाइल नाम, लाइन नंबर, और संकेतक लौटाती हैं जहां त्रुटि मौजूद हो सकती है।
अपवाद त्रुटि का एक प्रकार है जहां कोड में सही सिंटैक्स हो सकता है लेकिन फिर भी समस्या होती है। कई प्रकार के अपवाद हैं, लेकिन कुछ सबसे आम जिनका आप सामना करेंगे उनमें शामिल हैं: ArithmeticError, ImportError, ZeroDivisionError, NameError, और TypeError।
Python try...except स्टेटमेंट
Python try...except स्टेटमेंट "try" स्टेटमेंट के तहत कोड चलाता है। यदि यह कोड सफलतापूर्वक निष्पादित नहीं होता है, तो प्रोग्राम उस लाइन पर रुक जाएगा जिसने त्रुटि पैदा की और "except" कोड चलेगा।
try ब्लॉक आपको त्रुटियों के लिए कोड ब्लॉक टेस्ट करने की अनुमति देता है। except ब्लॉक आपको उपयोगकर्ता-परिभाषित प्रतिक्रिया के साथ त्रुटि को संभालने में सक्षम बनाता है।
यहाँ try...except ब्लॉक का सिंटैक्स है:
try:
yourcode...
except:
yourcode...
आप किसी भी वैध Python कोड को try या except स्टेटमेंट के भीतर संलग्न कर सकते हैं।
try...except Python उदाहरण
यहाँ try...except ब्लॉक्स के सिंटैक्स का एक उदाहरण है:
try:
print(ourVariable)
except:
print('Error returned')
ऊपर के उदाहरण में, हमने Python वेरिएबल ourVariable घोषित नहीं किया है, फिर भी हम इसे अपने try ब्लॉक में उपयोग करने का प्रयास करते हैं।
यदि हमारे कोड में try...except ब्लॉक्स नहीं होते, तो प्रोग्राम त्रुटि संदेश लौटाता। डिबगिंग के दौरान त्रुटि संदेश देखना ठीक है, लेकिन नियमित उपयोगकर्ता भ्रमित हो सकता है यदि वे त्रुटि संदेश देखते हैं।
क्योंकि हमारे पास try...except ब्लॉक्स हैं, हमारा कोड जानता है कि त्रुटि आने पर क्या करना है।
हमारे कोड का परिणाम यहाँ है:
Error returned
try...except ब्लॉक्स आपको अपवादों को सुंदर ढंग से संभालने देते हैं। आप Python के logging मॉड्यूल जैसे पैकेज का उपयोग करके अपवाद को लॉग फ़ाइल में सहेजने जैसी सुविधा भी लागू करना चाह सकते हैं। यह आपको उठाए गए अपवादों का ट्रैक रखने देगा।
try...except Python: मल्टीपल Except स्टेटमेंट्स
आप विभिन्न प्रकार की त्रुटियों के लिए except स्टेटमेंट्स दोहरा सकते हैं ताकि मल्टीपल अपवादों का परीक्षण किया जा सके। यह उपयोगी है यदि आपको संदेह है कि कई अपवादों में से एक उठाया जा सकता है लेकिन आप निश्चित नहीं हैं कि आप किसका सामना करेंगे।
यहाँ NameError की तलाश करने वाले try...except ब्लॉक्स का एक उदाहरण है:
try:
print(ourVariable)
except NameError:
print('ourVariable is not defined')
except:
print('Error returned')
इस मामले में, हमारा कोड ourVariable is not defined लौटाता है क्योंकि हमारा कोड NameError लौटाता है। हम कोड के आधार पर अधिक त्रुटियां जोड़ सकते हैं, जैसे ZeroDivisionError या OSError, जिनका हम परीक्षण कर रहे हैं।
उदाहरण के लिए, यदि आप फ़ाइल खोलना चाहते हैं तो आप IOError और FileNotFoundError की जांच कर सकते हैं। मल्टीपल अपवादों की जांच सुनिश्चित करेगी कि आपका प्रोग्राम चलता रहे भले ही आपके द्वारा संदर्भित फ़ाइल खोलने में त्रुटि हो।
try...except Python: Finally
लेकिन क्या होगा यदि हम चाहते हैं कि संदेश प्रिंट हो चाहे त्रुटि लौटाई गई हो या कोई त्रुटि नहीं मिली? यहीं पर finally ब्लॉक आता है। यदि आप finally क्लॉज परिभाषित करते हैं, तो इसकी सामग्री इस बात पर ध्यान दिए बिना निष्पादित होगी कि try...except ब्लॉक त्रुटि उठाता है या नहीं।
Finally ब्लॉक्स उपयोगी संकेतक हैं कि आपका कोड निष्पादित हो चुका है। क्योंकि वे इस बात में अंतर नहीं करते कि कोड सफलतापूर्वक निष्पादित हुआ है या नहीं, वे आमतौर पर कम उपयोग किए जाते हैं।
यहाँ एक उदाहरण है:
try:
print(ourVariable)
except:
print('ourVariable is not defined')
finally:
print('Code has been run.')
हमारा प्रोग्राम निम्नलिखित लौटाता है:
ourVariable is not defined Code has been run.
except ब्लॉक के भीतर का कोड निष्पादित होता है क्योंकि हमारे कोड में अपवाद पाया जाता है (ourVariable is not defined)। finally क्लॉज के भीतर का कोड भी निष्पादित होता है, क्योंकि हमारा कोड चलना समाप्त हो गया है।
try...except Python: Else
else क्लॉज का उपयोग करके, आप कोड परिभाषित कर सकते हैं जो तब चलेगा जब कोई अपवाद नहीं उठाया जाता। इसका उपयोग उपयोगकर्ता को सूचित करने के लिए किया जा सकता है कि प्रोग्राम सफलतापूर्वक निष्पादित हुआ है, उदाहरण के लिए।
कल्पना करें कि आप गेम के लिए साइन अप सिस्टम बना रहे हैं। आप try...except...else ब्लॉक शामिल कर सकते हैं ताकि यह जांचा जा सके कि उपयोगकर्ता द्वारा चुना गया उपयोगकर्ता नाम या ईमेल पता मान्य है या नहीं। यदि यह नहीं है, तो except क्लॉज चलेगा। यदि उपयोगकर्ता नाम या ईमेल पता मान्य है, तो else ब्लॉक चल सकता है।
यहाँ एक उदाहरण है:
try:
print('Test')
except:
print('There is a problem.')
else:
print('There are no problems.')
हमारा कोड निम्नलिखित लौटाता है:
There are no problems.
हमारे Python प्रोग्राम को कोई अपवाद नहीं आता। परिणामस्वरूप, else स्टेटमेंट के भीतर का कोड निष्पादित होता है। else स्टेटमेंट यह संदेश प्रिंट करता है कि हमारे कोड में कोई समस्या नहीं है।
निष्कर्ष
try...except ब्लॉक्स आपके Python कोड को डीबग करना आसान बनाते हैं। प्रोग्राम "try" ब्लॉक में कोड चलाने का प्रयास करता है। यदि यह विफल होता है, तो "except" ब्लॉक चलता है। "finally" स्टेटमेंट में कोड इस बात पर ध्यान दिए बिना चलता है कि "except" ब्लॉक निष्पादित होता है या नहीं।
इस ट्यूटोरियल में, हमने try...except ब्लॉक्स का उपयोग कैसे करें, इसे तोड़ दिया है। हमने चर्चा की है कि अपने अपवाद प्रबंधन को अनुकूलित करने के लिए else और except का उपयोग कैसे करें।
ये ब्लॉक्स तब उपयोगी हो सकते हैं जब आप मौजूदा कोड टेस्ट कर रहे हों या नया कोड लिख रहे हों। यह सुनिश्चित करता है कि आपका प्रोग्राम सही ढंग से चलता है और इसमें कोई त्रुटि नहीं है।
अधिक Python सीखने के संसाधनों के लिए, हमारा व्यापक How to Learn Python गाइड देखें।