Python में अपवाद प्रबंधन का उपयोग करने के लिए, हमें पहले सभी except क्लॉज को पकड़ने की आवश्यकता है।
Python अपवादों को पकड़ने के लिए "try" और "except" कीवर्ड प्रदान करता है। "try" ब्लॉक कोड को स्टेटमेंट दर स्टेटमेंट निष्पादित किया जाएगा। हालांकि, यदि कोई अपवाद होता है, तो शेष "try" कोड निष्पादित नहीं होगा और except क्लॉज निष्पादित होगा।
try:
some_statements_here
except:
exception_handling
आइए उपरोक्त सिंटैक्स को एक बहुत ही सरल उदाहरण के साथ देखें -
try:
print("Hello, World!")
except:
print("This is an error message!")
आउटपुट
Hello, World!
उपरोक्त एक बहुत ही सरल उदाहरण है, आइए एक और उदाहरण के साथ उपरोक्त अवधारणा को समझते हैं -
import sys
List = ['abc', 0, 2, 4]
for item in List:
try:
print("The List Item is", item)
r = 1/int(item)
break
except:
print("Oops!", sys.exc_info()[0], "occured.")
print('\n')
print("Next Item from the List is: ")
print()
print("The reciprocal of", item, "is", r)
आउटपुट
The List Item is abc Oops!occured. Next Item from the List is: The List Item is 0 Oops! occured. Next Item from the List is: The List Item is 2 The reciprocal of 2 is 0.5
उपरोक्त प्रोग्राम में, लूप तब तक चलता है जब तक हमें (उपयोगकर्ता इनपुट के रूप में) एक पूर्णांक नहीं मिल जाता जिसका वैध व्युत्क्रम हो। वह कोड जो अपवाद उत्पन्न करता है उसे try ब्लॉक के भीतर रखा जाता है।
यदि कोई अपवाद होता है, तो इसे except ब्लॉक द्वारा पकड़ा जाएगा। हम उपरोक्त प्रोग्राम को विभिन्न अपवाद त्रुटियों के साथ परीक्षण कर सकते हैं। नीचे कुछ सामान्य अपवाद त्रुटियां हैं -
IOError
फ़ाइल खोलने में असमर्थ होने पर उत्पन्न होता है।
ImportError
मॉड्यूल गुम होने पर उत्पन्न होता है।
ValueError
यह तब होता है जब हम सही प्रकार का तर्क पास करते हैं लेकिन अंतर्निहित ऑपरेटर या फ़ंक्शन का अनुचित मान।
KeyboardInterrupt
जब भी उपयोगकर्ता इंटरप्ट कुंजी दबाता है (आमतौर पर कंट्रोल-सी)
EOFError
अपवाद तब उत्पन्न होता है जब अंतर्निहित फ़ंक्शन बिना कोई डेटा पढ़े एंड-ऑफ-फ़ाइल कंडीशन (EOF) पर पहुंचते हैं।