Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

पायथन में कॉन्क्रीट एक्सेप्शन्स


पायथन में कुछ सामान्य अपवाद होते हैं जो विभिन्न प्रोग्राम्स में उठाए जाते हैं। ये प्रोग्रामर द्वारा स्पष्ट रूप से या पायथन इंटरप्रेटर द्वारा निहित रूप से उठाए जा सकते हैं। कुछ प्रमुख अपवाद निम्नलिखित हैं:

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
  1. Tkinter Python में संकुचनशील फलक Tkinter Python में संकुचनशील फलक

    Tkinter Python का GUI बिल्डिंग लाइब्रेरी है। इस लेख में हम देखेंगे कि हम संकुचनशील फलक कैसे बना सकते हैं। वे उपयोगी होते हैं जब हमारे पास GUI कैनवास पर प्रदर्शित करने के लिए बड़ी मात्रा में डेटा होता है लेकिन हम इसे हमेशा प्रदर्शित नहीं करना चाहते। इसे संकुचनशील बनाया जाता है ताकि इसे आवश्यकतानुसार

  1. पायथन में बाइनरी ट्री का व्यास पायथन में बाइनरी ट्री का व्यास

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें ट्री के व्यास की लंबाई की गणना करनी है। बाइनरी ट्री का व्यास वास्तव में ट्री में किन्हीं दो नोड्स के बीच सबसे लंबे पथ की लंबाई है। यह पथ अनिवार्य रूप से रूट से होकर नहीं जाता। यदि ट्री नीचे जैसा है, तो व्यास 3 होगा क्योंकि पथ [4,2,1,3] या [5,2,1,3] की लंब

  1. पायथन में इनहेरिटेंस (Inheritance) पायथन में इनहेरिटेंस (Inheritance)

    इस लेख में, हम पायथन 3.x या उससे पहले के संस्करण में इनहेरिटेंस और क्लासेस को एक्सटेंड करने के बारे में जानेंगे।इनहेरिटेंस वास्तविक दुनिया के संबंधों को अच्छी तरह से दर्शाता है, पुन: प्रयोज्यता प्रदान करता है और ट्रांजिटिविटी का समर्थन करता है। यह तेज़ विकास समय, आसान रखरखाव और विस्तार में आसानी प्र