Есть несколько похожих вопросов, но ни один из них не дает ответа, который мне нужен.Поднять необработанные исключения в потоке в основной теме?
Если я создаю потоки через threading.Thread
, которые затем выдают исключение, которые не обрабатываются, эти потоки завершаются. Я хочу сохранить распечатку по умолчанию из деталей исключения с помощью трассировки стека, но также уничтожить весь процесс.
Я считал, что можно было бы поймать все исключения в потоках и ререйзировать их по основному потоку, или, возможно, можно вручную выполнить обработку исключений по умолчанию, а затем поднять SystemExit
на основной нить.
Каков наилучший способ сделать это?
Не хотите ли вы бросить 'thrdobj.exc_info' в основном потоке и почему отказаться от типа исключения при повторном переводе? –
Теперь я вижу, должен был прочитать заявление о повышении 3arg. но вопрос о 'self' все еще стоит, спасибо за хороший ответ, я попробую его –
Я не уверен, что ваш вопрос о себе. Этот код исходил от объекта, который используется для отсрочки работы рабочего потока, поэтому один и тот же объект запускает код в рабочем и основном потоках. –