referencing exception object python code example

Example 1: exception types python

BaseException
   ] SystemExit
   ] KeyboardInterrupt
   ] GeneratorExit
   ] Exception
        ] StopIteration
        ] StopAsyncIteration
        ] 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
        ] SyntaxError
        |    ] IndentationError
        |         ] TabError
        ] SystemError
        ] TypeError
        ] ValueError
        |    ] UnicodeError
        |         ] UnicodeDecodeError
        |         ] UnicodeEncodeError
        |         ] UnicodeTranslateError
        ] Warning
             ] DeprecationWarning
             ] PendingDeprecationWarning
             ] RuntimeWarning
             ] SyntaxWarning
             ] UserWarning
             ] FutureWarning
             ] ImportWarning
             ] UnicodeWarning
             ] BytesWarning
             ] ResourceWarning

Example 2: exception variable properties python

>>> try:
...     raise Exception('spam', 'eggs')
... except Exception as inst:
...     print(type(inst))    # the exception instance
...     print(inst.args)     # arguments stored in .args
...     print(inst)          # __str__ allows args to be printed directly,
...                          # but may be overridden in exception subclasses
...     x, y = inst.args     # unpack args
...     print('x =', x)
...     print('y =', y)
...
<class 'Exception'>
('spam', 'eggs')
('spam', 'eggs')
x = spam
y = eggs