Capturar a exceção de um thread no segmento de chamada em Python

Eu sou muito novo em Python e programação multithread em geral. Basicamente, eu tenho um script que copiará arquivos para outro local. Eu gostaria que isso fosse colocado em outro segmento para que eu possa produzir.... para indicar que o script ainda está em execução.

O problema que estou enfrentando é que, se os arquivos não puderem ser copiados, haverá uma exceção. Isso está ok se estiver sendo executado no thread principal; no entanto, ter o seguinte código não funciona:

try:
    threadClass = TheThread(param1, param2, etc.)
    threadClass.start()   ##### **Exception takes place here**
except:
    print "Caught an exception"

Na própria classe do thread, tentei relançar a exceção, mas ela não funciona. Vi pessoas aqui fazendo perguntas semelhantes, mas todas parecem estar fazendo algo mais específico do que estou tentando fazer (e não entendo bem as soluções oferecidas). Já vi pessoas mencionarem o uso desys.exc_info(), no entanto, não sei onde ou como usá-lo.

Toda ajuda é bem-vinda!

EDITAR: O código para a classe de encadeamento está abaixo:

class TheThread(threading.Thread):
    def __init__(self, sourceFolder, destFolder):
        threading.Thread.__init__(self)
        self.sourceFolder = sourceFolder
        self.destFolder = destFolder

    def run(self):
        try:
           shul.copytree(self.sourceFolder, self.destFolder)
        except:
           raise

questionAnswers(14)

yourAnswerToTheQuestion