在Python脚本中,有很多情况下键盘中断(Ctrl-C)由于 except 代码中的句子而无法终止进程:
except
try: foo() except: bar()
Python 2.5或更高版本中的标准解决方案是捕获 Exception 而不是使用 except 子句:
Exception
try: foo() except Exception: bar()
这样做是因为,像Python 2.5的, KeyboardInterrupt 和 SystemExit 继承 BaseException ,没有 Exception 。但是,一些安装仍在运行Python 2.4。在Python 2.5之前的版本中如何处理这个问题?
KeyboardInterrupt
SystemExit
BaseException
上云精选
2核2G云服务器 每月9.33元起,个人开发者专属3年机 低至2.3折
根据 Python文档 ,在2.5以前的Python版本中处理这个问题的正确方法是:
try: foo() except (KeyboardInterrupt, SystemExit):