मैं त्रुटि का नाम और ट्रेसबैक विवरण को एक चर में सहेजना चाहता हूं। मेरा प्रयास यहाँ है।एक चर में traceback/sys.exc_info() मानों को कैसे सहेजते हैं?
import sys
try:
try:
print x
except Exception, ex:
raise NameError
except Exception, er:
print "0", sys.exc_info()[0]
print "1", sys.exc_info()[1]
print "2", sys.exc_info()[2]
आउटपुट:
0 <type 'exceptions.NameError'>
1
2 <traceback object at 0xbd5fc8>
वांछित आउटपुट:
0 NameError
1
2 Traceback (most recent call last):
File "exception.py", line 6, in <module>
raise NameError
पी.एस. मुझे पता है कि यह ट्रेसबैक मॉड्यूल का उपयोग करके आसानी से किया जा सकता है, लेकिन मैं sys.exc_info() [2] ऑब्जेक्ट का उपयोग जानना चाहता हूं।
आप गलत समझा हो सकता है कि आपके कार्यक्रम में चल रहा है: ट्रैस बैक वस्तु का एक उदाहरण (= आप पहले से ही ट्रैस बैक मॉड्यूल का उपयोग कर रहे है जो आप के रूप में "sys.exc_info() [2] वस्तु" का संदर्भ लें)। अब, आप उस ऑब्जेक्ट को ट्रेसबैक मॉड्यूल में सहायक कार्यों का उपयोग किए बिना कुशल बना सकते हैं, लेकिन यह इस तथ्य को नहीं बदलेगा कि आप अभी भी इसका उपयोग कर रहे हैं। :) – mac
क्या आपने sys.exc_info() [x] .__ str __() प्रिंट करने का प्रयास किया था? – zmbq
तो @mac कृपया इस ऑब्जेक्ट से मूल्य को एक्सेस करने या हेल्पर फ़ंक्शन का उपयोग किए बिना उपयोग करने में मेरी सहायता करें। – codersofthedark