Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """ get a hierarchy of all predefined exceptions """
- def class_hierarchy(class_, space=0):
- print(space * ' ' + class_.__name__)
- if not class_ is type:
- for subclass in class_.__subclasses__():
- class_hierarchy(subclass, space + 4)
- if __name__ == '__main__':
- class_hierarchy(BaseException)
- # ============================================================
- # the output should be similar to the following lines
- # ============================================================
- """
- BaseException
- Exception
- EOFError
- NameError
- UnboundLocalError
- ReferenceError
- ValueError
- UnicodeError
- UnicodeEncodeError
- UnicodeDecodeError
- UnicodeTranslateError
- UnsupportedOperation
- AssertionError
- ImportError
- ZipImportError
- Warning
- ImportWarning
- DeprecationWarning
- RuntimeWarning
- ResourceWarning
- PendingDeprecationWarning
- UserWarning
- SyntaxWarning
- FutureWarning
- UnicodeWarning
- BytesWarning
- BufferError
- OSError
- TimeoutError
- InterruptedError
- ProcessLookupError
- NotADirectoryError
- PermissionError
- FileNotFoundError
- ChildProcessError
- ConnectionError
- BrokenPipeError
- ConnectionAbortedError
- ConnectionRefusedError
- ConnectionResetError
- IsADirectoryError
- UnsupportedOperation
- FileExistsError
- BlockingIOError
- AttributeError
- SyntaxError
- IndentationError
- TabError
- StopIteration
- LookupError
- IndexError
- KeyError
- CodecRegistryError
- TypeError
- MemoryError
- SystemError
- CodecRegistryError
- StopAsyncIteration
- ArithmeticError
- FloatingPointError
- OverflowError
- ZeroDivisionError
- RuntimeError
- RecursionError
- NotImplementedError
- _DeadlockError
- Error
- GeneratorExit
- SystemExit
- KeyboardInterrupt
- """
Advertisement
Add Comment
Please, Sign In to add comment