Improve output when interrupted (^C)

This commit is contained in:
Anthony Sottile
2019-05-11 12:19:00 -07:00
parent b3bfecde39
commit f21316ebe8
2 changed files with 31 additions and 6 deletions

View File

@@ -44,9 +44,11 @@ def _log_and_exit(msg, exc, formatted):
def error_handler():
try:
yield
except FatalError as e:
_log_and_exit('An error has occurred', e, traceback.format_exc())
except Exception as e:
_log_and_exit(
'An unexpected error has occurred', e, traceback.format_exc(),
)
except (Exception, KeyboardInterrupt) as e:
if isinstance(e, FatalError):
msg = 'An error has occurred'
elif isinstance(e, KeyboardInterrupt):
msg = 'Interrupted (^C)'
else:
msg = 'An unexpected error has occurred'
_log_and_exit(msg, e, traceback.format_exc())