我觉得 sys.excepthook 是如何工作的很令人费解。鉴于以下情况,我找不到继续前进的方法,以防异常被钩子捕获。简而言之,我从未达到 print 声明,但我确信理论上可以继续。返回 True 或 False 也没有帮助?
import sys
from shutil import copy
from subprocess import Popen
def my_except_hook(etype, value, tb):
print("got an exception of type", etype)
if __name__ == '__main__':
sys.excepthook = my_except_hook
copy('sdflsdk')
print("here")
Popen('sdflkjdklsdj')
那么输出是:
('got an exception of type', <type 'exceptions.TypeError'>)