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

पायथन एक्सेप्शन बेस क्लासेस


अन्य हाई-लेवल लैंग्वेजेज की तरह, पायथन में भी एक्सेप्शन्स होते हैं। जब कोई समस्या होती है, तो यह एक एक्सेप्शन उठाता है। ZeroDivisionError, AssertionError आदि जैसे विभिन्न प्रकार के एक्सेप्शन्स होते हैं। सभी एक्सेप्शन क्लासेस BaseException क्लास से डिराइव्ड होती हैं।

कोड बिल्ट-इन एक्सेप्शन्स चला सकता है, या हम कोड में इन एक्सेप्शन्स को भी उठा सकते हैं। यूजर Exception क्लास से या Exception क्लास के किसी अन्य चाइल्ड क्लास से अपना खुद का एक्सेप्शन डिराइव कर सकता है।

BaseException सभी अन्य एक्सेप्शन्स का बेस क्लास है। यूजर-डिफाइंड क्लासेस को सीधे इस क्लास से डिराइव नहीं किया जा सकता; यूजर-डिफाइंड क्लास डिराइव करने के लिए हमें Exception क्लास का उपयोग करना पड़ता है।

पायथन एक्सेप्शन हायरार्की निम्नलिखित है:

  • BaseException
  • Exception
    • ArithmeticError
      • FloatingPointError
      • OverflowError
      • ZeroDivisionError
    • AssertionError
    • AttributeError
    • BufferError
    • EOFError
    • ImportError
      • ModuleNotFoundError
    • LookupError
      • IndexError
      • KeyError
    • MemoryError
    • NameError
      • UnboundLocalError
    • OSError
      • BlockingIOError
      • ChildProcessError
      • ConnectionError
        • BrokenPipeError
        • ConnectionAbortedError
        • ConnectionRefusedError
        • ConnectionResetError
      • FileExistsError
      • FileNotFoundError
      • InterruptedError
      • IsADirectoryError
      • NotADirectoryError
      • PermissionError
      • ProcessLookupError
      • TimeoutError
    • ReferenceError
    • RuntimeError
      • NotImplementedError
      • RecursionError
    • StopIteration
    • StopAsyncIteration
    • SyntaxError
      • IndentationError
        • TabError
    • SystemError
    • TypeError
    • ValueError
      • UnicodeError
        • UnicodeDecodeError
        • UnicodeEncodeError
        • UnicodeTranslateError
    • Warning
      • BytesWarning
      • DeprecationWarning
      • FutureWarning
      • ImportWarning
      • PendingDeprecationWarning
      • ResourceWarning
      • RuntimeWarning
      • SyntaxWarning
      • UnicodeWarning
      • UserWarning
    • GeneratorExit
    • KeyboardInterrupt
    • SystemExit

समस्या - इस समस्या में कर्मचारियों की एक क्लास है। शर्त यह है कि कर्मचारी की आयु 18 से अधिक होनी चाहिए।

हमें एक यूजर-डिफाइंड एक्सेप्शन क्लास बनानी चाहिए, जो Exception क्लास की चाइल्ड क्लास हो।

उदाहरण कोड

class LowAgeError(Exception):
    def __init__(self):
        pass
    def __str__(self):
        return 'The age must be greater than 18 years'

class Employee:
    def __init__(self, name, age):
        self.name = name
        if age < 18:
            raise LowAgeError
        else:
            self.age = age
    def display(self):
        print('The name of the employee: ' + self.name + ', Age: ' + str(self.age) + ' Years')

try:
    e1 = Employee('Subhas', 25)
    e1.display()
    e2 = Employee('Anupam', 12)
    e1.display()
except LowAgeError as e:
    print('Error Occurred: ' + str(e))

आउटपुट

The name of the employee: Subhas, Age: 25 Years
Error Occurred: The age must be greater than 18 years
  1. - पायथन में NotImplementedError एक्सेप्शन कैसे पकड़ें?

    यूजर-डिफाइंड बेस क्लासेस NotImplementedError उठा सकती हैं ताकि यह इंगित किया जा सके कि किसी मेथड या व्यवहार को सबक्लास द्वारा परिभाषित करने की आवश्यकता है, एक इंटरफेस का अनुकरण करते हुए। यह एक्सेप्शन RuntimeError से प्राप्त होता है। यूजर डिफाइंड बेस क्लासेस में, एब्सट्रैक्ट मेथड्स को इस एक्सेप्शन को

  1. - पायथन में EnvironmentError एक्सेप्शन कैसे पकड़ें?

    EnvironmentError पायथन के बाहर से आने वाली एरर्स (ऑपरेटिंग सिस्टम, फाइलसिस्टम, आदि) के लिए बेस क्लास है। EnvironmentError एक्सेप्शन StandarError क्लास का सबक्लास है। यह IOError और OSError एक्सेप्शन्स का बेस क्लास है। यह वास्तव में अपने सबक्लास एरर्स जैसे IOError और OSError के विपरीत नहीं उठाया जाता।

  1. - पायथन में यूजर डिफाइंड एक्सेप्शन कैसे इम्प्लीमेंट करें?

    हम पायथन में एक नई एक्सेप्शन क्लास बनाकर यूजर-डिफाइंड या कस्टम एक्सेप्शन बनाते हैं। विचार कस्टम एक्सेप्शन क्लास को एक्सेप्शन क्लास से प्राप्त करना है। अधिकांश बिल्ट-इन एक्सेप्शन अपने एक्सेप्शन को लागू करने के लिए उसी विचार का उपयोग करते हैं। दिए गए कोड में, आपने एक यूजर-डिफाइंड एक्सेप्शन क्लास बनाई