Программа Python управляет Firefox через Selenium WebDriver. Код встроен в блок try/except следующим образом:
session = selenium.webdriver.Firefox(firefox_profile)
try:
# do stuff
except (Exception, KeyboardInterrupt) as exception:
logging.info("Caught exception.")
traceback.print_exc(file=sys.stdout)
Если программа прерывается из-за ошибки, сеанс WebDriver не закрывается, и поэтому окно Firefox остается открытым. Но если программа прерывается с исключением KeyboardInterrupt, окно Firefox закрывается (я полагаю, потому что сеансы WebDriver также выпущены), и я хотел бы избежать этого.
Я знаю, что оба исключения проходят через один и тот же обработчик, потому что я вижу сообщение "Caught exception" в обоих случаях.
Как я мог избежать закрытия окна Firefox с помощью KeyboardInterrupt?