aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2021-01-04 23:22:16 +0100
committerAnton Khirnov <anton@khirnov.net>2021-01-04 23:22:16 +0100
commitcd08ee585aa2a40e7ed5fc514e7c8d83311cdaad (patch)
treef6c2ee7e6225eec2a3f29344736d429cb0afc116
parenta4b329e25778a480c08bed95d6daa63931b4a68c (diff)
Catch and log top-level exceptions.
-rwxr-xr-xfshare.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/fshare.py b/fshare.py
index 7ad2f9c..12b432d 100755
--- a/fshare.py
+++ b/fshare.py
@@ -316,6 +316,11 @@ for h in handlers:
h.setFormatter(formatter)
logger.addHandler(h)
+# log uncaught top-level exception
+def excepthook(t, v, tb, logger = logger):
+ logger.error('Uncaught top-level exception', exc_info = (t, v, tb))
+sys.excepthook = excepthook
+
# read the state file
state = PersistentState(args.state_file)