Evgeniy _, под Ubuntu у меня тоже работает, но вот в интерпретаторе под Windows 10 (Python 3.6) данный код работает как показано в примере автора вопроса
С Sharp: да, цель чтобы не рухнула программа, по возможности с указанием проблемного места. Пока пробую различные методики от try{}catch(...){} до signal(SIGTERM,handler), но пока результат отрицательный.