मैं एक सूत्र में एक अपवाद को पकड़ने के लिए है और यह मुख्य थ्रेड में फिर से बढ़ा कोशिश कर रहा हूँ की रक्षा:फिर से उठाते हैं और स्टैक ट्रेस
import threading
import sys
class FailingThread(threading.Thread):
def run(self):
try:
raise ValueError('x')
except ValueError:
self.exc_info = sys.exc_info()
failingThread = FailingThread()
failingThread.start()
failingThread.join()
print failingThread.exc_info
raise failingThread.exc_info[1]
यह मूलतः काम करता है और निम्नलिखित उत्पादन पैदावार:
(<type 'exceptions.ValueError'>, ValueError('x',), <traceback object at 0x1004cc320>)
Traceback (most recent call last):
File "test.py", line 16, in <module>
raise failingThread.exc_info[1]
हालांकि, अपवाद का स्रोत लाइन 16 पर इंगित करता है, जहां पुन: उठाया गया था।
Traceback (most recent call last):
File "test.py", line 7, in <module>
भयानक, मैं दिया भी फिर से ऊपर उठाने की है अन्य धागे से अपवाद हैं, लेकिन आप में से –
संभव डुप्लिकेट :) करना चाहते हैं कभी नहीं चला गया जहाँ तक [पाइथन में "आंतरिक अपवाद" (ट्रेसबैक के साथ)? (Http://stackoverflow.com/questions/1350671/inner-exception-with-traceback-in-python) –