В целом, вызов асинхронных исключений трудно обрабатывать должным образом.Это связано с тем, что вместо того, чтобы иметь отдельные конкретные точки кода, где может быть сгенерировано исключение - и, следовательно, там, где необходимо проверить обработку исключений, - вместо этого, исключение может быть сгенерировано после любой инструкции байт-кода.Это значительно усложняет реализацию и полное тестирование обработки исключений.
Тем не менее, это можно сделать - но в настоящее время это небезопасно в Python.Вызывать исключение асинхронно в Python опасно, потому что вы можете вызвать его во время обработчика исключения , что вызовет другое исключение и предотвратит правильную очистку.См. Мой ответ на Как ограничить время выполнения вызова функции в Python .
Можно сигнализировать о некоторых формах ожидания для отмены, но в Python нет общей инфраструктуры для этого.Вам гораздо лучше либо избегать необходимости убивать поток, либо перемещать поток в процесс , где вы можете отправить сигнал всему процессу и выйти чисто.