Мой цикл while не завершается при нажатии Ctrl+C. Похоже, он игнорирует мое исключение KeyboardInterrupt. Часть петли выглядит так:
while True:
try:
if subprocess_cnt <= max_subprocess:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
notifier.stop()
break
else:
pass
except (KeyboardInterrupt, SystemExit):
print '\nkeyboardinterrupt found!'
print '\n...Program Stopped Manually!'
raise
Опять же, я не уверен, в чем проблема, но мой терминал даже не печатает два предупреждения о печати, которые у меня есть в моем исключении. Может ли кто-нибудь помочь мне разобраться с этой проблемой?
except KeyboardInterrupt
перехватывает исключение. Он не будет виден второмуexcept (KeyboardInterrupt, SystemExit)
, если вы не поднимете его повторно. - person eumiro   schedule 27.12.2011raise KeyboardInterrupt()
в первыйexcept KeyboardInterrupt:
, однако я все еще сталкиваюсь с той же проблемой. - person sadmicrowave   schedule 27.12.2011