Точка использования excepthook заключается в том, что вы можете отслеживать все исключения, поднятые вашей программой, и обрабатывать их по центру.
Таким образом, вам следует избавиться от большинства этих блоков try/except
и запишите исключения внутри функции excepthook. Я говорю «most», потому что вы можете быть затронуты bug 1230540 , где sys.excepthook
неправильно вызывается за пределами основного потока. См. Поток трекера для некоторых обходных путей для этого, или этот ответ SO .