पायथन में कुछ सामान्य अपवाद होते हैं जो विभिन्न प्रोग्राम्स में उठाए जाते हैं। ये प्रोग्रामर द्वारा स्पष्ट रूप से या पायथन इंटरप्रेटर द्वारा निहित रूप से उठाए जा सकते हैं। कुछ प्रमुख अपवाद निम्नलिखित हैं:
AssertionError अपवाद
जब कोई assert स्टेटमेंट फेल होता है तो AssertionError उठता है। पायथन में हम अपने कोड में assert स्टेटमेंट सेट कर सकते हैं। assert स्टेटमेंट हमेशा सत्य होना चाहिए; यदि कंडीशन फेल होती है तो AssertionError उठता है।
उदाहरण कोड
class MyClass:
def __init__(self, x):
self.x = x
assert self.x > 50
myObj = MyClass(5)आउटपुट
AssertionError
AttributeError अपवाद
जब हम किसी क्लास के ऐसे एट्रिब्यूट को एक्सेस करने का प्रयास करते हैं जो उसमें मौजूद नहीं होता, तो AttributeError उठता है।
उदाहरण कोड
class Point:
def __init__(self, x=0, y=0):
self.x = x
self.y = y
def getpoint(self):
print('x= ' + str(self.x))
print('y= ' + str(self.y))
print('z= ' + str(self.z))
pt = Point(10, 20)
pt.getpoint()आउटपुट
AttributeError: 'point' object has no attribute 'z'
ImportError अपवाद
ImportError तब होता है जब import स्टेटमेंट को किसी मॉड्यूल को इम्पोर्ट करने में समस्या होती है। यह तब भी उठ सकता है जब पैकेज नाम सही हो लेकिन निर्दिष्ट नाम का कोई मॉड्यूल न मिले।
उदाहरण कोड
from math import abcd
आउटपुट
ImportError: cannot import name 'abcd'
ModuleNotFoundError अपवाद
यह ImportError का सबक्लास है। जब कोई मॉड्यूल स्थित नहीं होता तो यह एरर उठता है। यह तब भी उठ सकता है जब None sys.modules में पाया जाए।
उदाहरण कोड
import abcd
आउटपुट
ModuleNotFoundError: No module named 'abcd'
IndexError अपवाद
जब किसी सीक्वेंस (लिस्ट, टपल, सेट आदि) का सबस्क्रिप्ट आउट ऑफ रेंज होता है तो IndexError उठता है।
उदाहरण कोड
myList = [10, 20, 30, 40] print(str(myList[5]))
आउटपुट
IndexError: list index out of range
RecursionError अपवाद
RecursionError एक रनटाइम एरर है। जब अधिकतम रिकर्सन डेप्थ पार हो जाती है तो यह उठता है।
उदाहरण कोड
def myFunction():
myFunction()
myFunction()आउटपुट
RecursionError: maximum recursion depth exceeded
StopIteration अपवाद
पायथन में, इनबिल्ट मेथड next() द्वारा StopIteration एरर प्राप्त होता है। जब किसी इटरेटर में कोई और एलिमेंट नहीं होता तो next() मेथड StopIteration एरर उठाता है।
उदाहरण कोड
myList = [10, 20, 30, 40]
myIter = iter(myList)
while True:
print(next(myIter))आउटपुट
StopIteration
IndentationError अपवाद
जब पायथन कोड में इनवैलिड इंडेंटेशन होता है तो यह एरर उठता है। यह पायथन के SyntaxError क्लास को इनहेरिट करता है।
उदाहरण कोड
for i in range(10):
print("The value of i: " + str(i))आउटपुट
IndentationError: expected an indented block
TypeError अपवाद
TypeError तब होता है जब किसी ऑब्जेक्ट पर इनएप्रोप्रिएट टाइप का ऑपरेशन किया जाता है। उदाहरण के लिए, ऐरे इंडेक्स में फ्लोटिंग पॉइंट नंबर देने पर TypeError लौटाता है।
उदाहरण कोड
muList = [10, 20, 30, 40] print(myList[1.25])
आउटपुट
TypeError: list indices must be integers or slices, not float
ZeroDivisionError अपवाद
जब किसी डिवीज़न प्रॉब्लम में डिनॉमिनेटर 0 (शून्य) होता है तो ZeroDivisionError उठता है।
उदाहरण कोड
print(5/0)
आउटपुट
ZeroDivisionError: division by zero