Python全局异常处理
问题内容:
我想在KeyboardInterrupt
全球范围内赶上并很好地应对。我不想将我的整个脚本包含在一个巨大的try / except语句中。有什么办法吗?
问题答案:
sys.excepthook
如果您确实不想使用,可以更改try/except
。
import sys
def my_except_hook(exctype, value, traceback):
if exctype == KeyboardInterrupt:
print "Handler code goes here"
else:
sys.__excepthook__(exctype, value, traceback)
sys.excepthook = my_except_hook