父线程如何知道其子线程引发了异常?

时间:2017-06-09 09:20:30

标签: python multithreading exception-handling

我正在使用Python线程库中的threading.Thread(target, *args, **k)

t = Thread(
            target=self.connect,
            args=(
                hostname,
                username,
                password,
                pre_name,
                config_data,
                action,
                post_name),
            kwargs=key_value
        )

当我调用t.start()时 - 它执行目标中的函数,但如果值错误或设备不可用 - 线程将抛出异常,系统将挂起。

我得到以下追溯:

Exception in thread Thread-2:
  Traceback (most recent call last):
  File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner
    self.run()
  File "C:\Python27\lib\threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)

在特定线程中调用的connect函数抛出异常 - 其父线程未识别该异常。

我的程序的其余部分怎么知道这个异常(所以我可以处理它)?

0 个答案:

没有答案