हम inspect मॉड्यूल इम्पोर्ट करते हैं और विशेष रूप से पायथन एक्सेप्शन/एरर हायरार्की प्रिंट करने के लिए getclasstree() फ़ंक्शन का उपयोग करते हैं।
यह कोड दिए गए एक्सेप्शन क्लासेस की सूची को नेस्टेड सूचियों के हायरार्की में व्यवस्थित और प्रिंट करता है। हम आउटपुट में दिखाए अनुसार __subclasses__() के माध्यम से पुनरावर्ती रूप से इनहेरिटेंस ट्री में नीचे जाते हैं।
उदाहरण
import inspect
print("The class hierarchy for built-in exceptions is:")
inspect.getclasstree(inspect.getmro(BaseException))
def classtree(cls, indent=0):
print('.' * indent, cls.__name__)
for subcls in cls.__subclasses__():
classtree(subcls, indent + 3)
classtree(BaseException)
आउटपुट
कोड चलाने पर हमें निम्न आउटपुट मिलता है।
The class hierarchy for built-in exceptions is: BaseException ... Exception ...... StandardError ......... TypeError ......... ImportError .......... ZipImportError ......... EnvironmentError .......... IOError .......... OSError ............. WindowsError ......... EOFError ......... RuntimeError .......... NotImplementedError ......... NameError .......... UnboundLocalError ......... AttributeError ......... SyntaxError .......... IndentationError ............. TabError ......... LookupError .......... IndexError .......... KeyError .......... CodecRegistryError ......... ValueError .......... UnicodeError ............. UnicodeEncodeError ............. UnicodeDecodeError ............. UnicodeTranslateError ......... AssertionError ......... ArithmeticError .......... FloatingPointError .......... OverflowError .......... ZeroDivisionError ......... SystemError .......... CodecRegistryError ......... ReferenceError ......... MemoryError ......... BufferError ...... StopIteration ...... Warning ......... UserWarning ......... DeprecationWarning ......... PendingDeprecationWarning ......... SyntaxWarning ......... RuntimeWarning ......... FutureWarning ......... ImportWarning ......... UnicodeWarning ......... BytesWarning ...... _OptionError ...... error ...... Error ...... TokenError ...... StopTokenizing ...... error ...... EndOfBlock ... GeneratorExit ... SystemExit ... KeyboardInterrupt