blob: be16a479bee7e99665f5576e7500cb7c0f09b8fe [file] [log] [blame]
import sys
class _ExitHooks(object):
def __init__(self):
self.exit_code = None
self.exception = None
def hook(self):
self._orig_exit = sys.exit
sys.exit = self.exit
self._orig_excepthook = sys.excepthook
sys.excepthook = self.exc_handler
def exit(self, code=0):
self.exit_code = code
self._orig_exit(code)
def exc_handler(self, exc_type, exc, *args):
self.exception = exc
sys.excepthook(exc_type, exc, *args)
hooks = _ExitHooks()
hooks.hook()