मैं अजगर के लिए बहुत नया हूं और सामान्य रूप से मल्टीथ्रेडेड प्रोग्रामिंग हूं। मूल रूप से, मेरे पास एक स्क्रिप्ट है जो फ़ाइलों को किसी अन्य स्थान पर कॉपी करेगी। मैं चाहूंगा कि इसे दूसरे धागे में रखा जाए ताकि मैं यह ....
बता सकूं कि स्क्रिप्ट अभी भी चल रही है।
मेरे पास जो समस्या है, वह यह है कि यदि फ़ाइलों की प्रतिलिपि नहीं बनाई जा सकती है तो यह एक अपवाद फेंक देगा। यदि मुख्य धागे में चल रहा है तो यह ठीक है; हालाँकि, निम्नलिखित कोड काम नहीं करता है:
try:
threadClass = TheThread(param1, param2, etc.)
threadClass.start() ##### **Exception takes place here**
except:
print "Caught an exception"
थ्रेड क्लास में ही, मैंने अपवाद को फिर से फेंकने की कोशिश की, लेकिन यह काम नहीं करता है। मैंने देखा है कि लोग यहाँ पर इसी तरह के सवाल पूछते हैं, लेकिन वे सभी कुछ ऐसा कर रहे हैं जो मैं करने की कोशिश कर रहा हूँ (और मैं काफी समाधान की पेशकश को नहीं समझता)। मैंने देखा है कि लोग इसके उपयोग का उल्लेख करते हैं sys.exc_info()
, हालाँकि मुझे नहीं पता कि इसका उपयोग कहाँ या कैसे करना है।
सभी मदद की बहुत सराहना की जाती है!
संपादित करें: थ्रेड क्लास के लिए कोड नीचे है:
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
? कोड नमूना शायद?