问题原因:
一个线程拥有自己独立的上下文和调用栈,如果该线程(调用栈)中 抛出异常之后,调用方是无法捕获的。
解决方法1:
sys.exc_info()可以返回当前的异常,作为一个属性保存下来,然后在线程的join方法中重新抛出异常。
#! python3
#-*- coding:utf-8 --
'''
Created on 2019年7月7日
@author: Administrator
'''
import threading
from _ast import Raise
from time import sleep
class ExcThread(threading.Thread):
def __init__(self,group=None, target=None, name=None,
args=(), kwargs=None, verbose=None):
threading.Thread.__init__(self, group, target, name, args, kwargs)
if kwargs is None:
kwargs