আমি পাইথনে খুব নতুন এবং সাধারণভাবে মাল্টিথ্রেডেড প্রোগ্রামিং। মূলত, আমার কাছে একটি স্ক্রিপ্ট রয়েছে যা ফাইলগুলি অন্য কোনও স্থানে অনুলিপি করবে। আমি এটি অন্য থ্রেডে রাখতে চাই যাতে ....
স্ক্রিপ্টটি এখনও চলছে কিনা তা বোঝাতে আমি আউটপুট করতে পারি ।
আমার যে সমস্যাটি হচ্ছে তা হ'ল যদি ফাইলগুলি অনুলিপি করা না যায় তবে এটি একটি ব্যতিক্রম ছুঁড়ে দেবে। মূল থ্রেডে চললে এটি ঠিক আছে; তবে, নিম্নলিখিত কোডটি কাজ করে না:
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
? কোড নমুনা সম্ভবত?