Каков «правильный» способ обнаружения и обработки исключения в другом потоке в Python, если код в этом другом потоке не находится под вашим контролем?
Например, допустим, вы задали функцию, для которой в качестве цели объекта threading.Thread
требуется 2 параметра, но во время выполнения попытайтесь передать его 3. Модуль Thread
сгенерирует исключение в другом потоке, прежде чем вы сможете попытаться поймать его.
Пример кода:
def foo(p1,p2):
p1.do_something()
p2.do_something()
thread = threading.Thread(target=foo,args=(a,b,c))
thread.start()
Создает исключение в другом потоке. Как бы вы обнаружили и справились с этим?