python退出无限循环与KeyboardInterrupt异常
2021/4/25 22:25:17
本文主要是介绍python退出无限循环与KeyboardInterrupt异常,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考:http://www.voidcn.com/article/p-pmlncsni-bvo.html
按下Ctrl C时,我的while循环不会退出.它似乎忽略了我的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
同样,我不确定问题是什么,但我的终端甚至从未打印过我的异常中的两个打印警报.有人能帮我解决这个问题吗?
用raise语句替换break语句,如下所示:
while True: try: if subprocess_cnt <= max_subprocess: try: notifier.process_events() if notifier.check_events(): notifier.read_events() except KeyboardInterrupt: notifier.stop() print 'KeyboardInterrupt caught' raise # the exception is re-raised to be caught by the outer try block else: pass except (KeyboardInterrupt, SystemExit): print '\nkeyboardinterrupt caught (again)' print '\n...Program Stopped Manually!' raise
except块中的两个print语句应该以'(再次)’出现的第二个执行.
这篇关于python退出无限循环与KeyboardInterrupt异常的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型