Jestem bardzo nowy w Pythonie i ogólnie programowaniu wielowątkowym. Zasadniczo mam skrypt, który skopiuje pliki do innej lokalizacji. Chciałbym, aby został on umieszczony w innym wątku, dzięki czemu mogę wysyłać dane ....
wskazujące, że skrypt nadal działa.
Problem, który mam, polega na tym, że jeśli nie można skopiować plików, wygeneruje wyjątek. Jest to OK, jeśli działa w głównym wątku; jednak posiadanie następującego kodu nie działa:
try:
threadClass = TheThread(param1, param2, etc.)
threadClass.start() ##### **Exception takes place here**
except:
print "Caught an exception"
W samej klasie wątków próbowałem ponownie zgłosić wyjątek, ale to nie działa. Widziałem ludzi tutaj zadających podobne pytania, ale wszyscy wydają się robić coś bardziej konkretnego niż to, co próbuję zrobić (i nie do końca rozumiem oferowane rozwiązania). Widziałem ludzi wspominających o użyciu sys.exc_info()
, jednak nie wiem, gdzie i jak go używać.
Każda pomoc jest mile widziana!
EDYCJA: Kod dla klasy wątku znajduje się poniżej:
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
TheThread
? Może próbka kodu?