我有一个捕获所有异常的脚本,如果不手动终止脚本(使用control + c
),这个脚本都能正常工作。但是如果手动终止脚本,则似乎异常被终止命令捕获而不是退出。
有没有一种方法可以从异常中排除这种错误?例如以下内容:
try:
do_thing()
except UserAbort:
break
except Exception as e:
print(e)
continue
import sys
# ...
try:
do_thing()
except UserAbort:
break
except KeyboardInterrupt:
sys.exit()
pass
except Exception as e:
print(e)
continue
except KeyboardInterrupt as e
而不是使用raise e
,以防万一调用链中的某个更高级别的模块捕获它... - A Kareem
except Exception:
无法捕获KeyboardInterrupt
,因此 ctrl + c 仍然有效。 - roganjosh