Я использую модуль от кого-то другого для обработки прослушивания веб-сокета.
В ходе моего тестирования я обнаружил, что имитируется отключение inte rnet (отключив / включив мой адаптер inte rnet ) заставляет twisted.deferred выдавать ошибку, которая не попадает в ловушку моей обработки исключений. Похоже, что он просто печатает сообщение об ошибке, а не передает его?
Проблема в том, что тогда я не могу заставить его изящно обрабатывать его (например, продолжать проверять соединение inte rnet и возобновлять процессы, когда оно находится в резерве).
Есть ли в любом случае, что я могу «выслушать» такие ошибки и поймать их в ловушку самостоятельно, или мне нужно залезть на дерево и перекодировать работу других людей?
I также используйте сигнальный модуль для перехвата «Полученного сигнала прерывания клавиатуры» для ручной остановки выполнения (для краткости не показан).
conn.start()
while True:
try:
time.sleep(1)
except Exception as err:
# Stop streams and logging gracefully
Print('Some other Exception received: ' + err)
conn.close()
user_log.close()
sys.exit(0)