def __init__(self, name, callable, *args, **kwargs):
    self.exception = None

    def wrapper(*args, **kwargs):
        try:
            callable(*args, **kwargs)
        except BaseException:
            self.exception = sys.exc_info()
    thread = threading.Thread(None, wrapper, name, args, kwargs)
    thread.setDaemon(True)
    thread.start()
    self.thread = thread
def __init__(self, name, callable, *args, **kwargs):
    self.exception = None

    def wrapper(*args, **kwargs):
        try:
            callable(*args, **kwargs)
        except BaseException:
            self.exception = sys.exc_info()
    thread = threading.Thread(None, wrapper, name, args, kwargs)
    thread.setDaemon(True)
    thread.start()
    self.thread = thread