import contextlib import sys class MyException(Exception): def __del__(self): print("Delete MyException") @contextlib.contextmanager def leak(): try: yield except Exception: exc_info = sys.exc_info() with leak(): raise MyException() print("Exit")