Я пытаюсь обработать необработанные исключения, возникающие при запуске потока. Документация python в документах. python .org гласит, что "threading.excepthook()
может быть переопределено для управления обработкой необработанных исключений, вызванных Thread.run()
". Тем не менее, я не могу сделать это правильно. Похоже, что моя функция excepthook
никогда не выполняется. Как правильно это сделать?
import threading
import time
class MyThread(threading.Thread):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
def excepthook(self, *args, **kwargs):
print("In excepthook")
def error_soon(timeout):
time.sleep(timeout)
raise Exception("Time is up!")
my_thread = MyThread(target=error_soon, args=(3,))
my_thread.start()
time.sleep(7)