我正在尝试在多进程上设置自定义sys.excepthook
。
但它不起作用。
在下面的代码中,我希望打印This is my traceback function:
字符串作为错误消息的前缀,但它没有。
代码:
from multiprocessing import Process
import time
import traceback
import logging
import sys
def excepthook(etype, evalue, traceback):
traceback_strs = traceback.format_exception_only(etype, evalue)
exception_str = "This is my traceback function:" + "\r\n".join(traceback_strs)
print("ExceptHook")
print(exception_str)
def subprocess_main():
sys.excepthook = excepthook
time.sleep(3)
raise Exception("HelloWorld")
if __name__ == "__main__":
p = Process(target=subprocess_main)
p.start()
p.join()
为什么它不起作用?
OS:Windows10
Python:3.6.3
答案 0 :(得分:2)