sys.excepthook がどのように機能するかは非常に不可解です。以下を考えると、例外がフックによってキャッチされた場合に続行する方法が見つかりません。要するに、印刷ステートメントに到達することはありませんが、理論的には続行できると確信しています。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'>)