pzrq की पोस्ट का उपयोग करने के लिए कहते हैं:
str(e)
यह वही था जो मुझे चाहिए था।
(यदि आप यूनिकोड वातावरण में हैं, तो ऐसा प्रतीत होता है:
unicode(e)
काम करेगा, और यह एक गैर-यूनिकोड वातावरण में ठीक काम करता प्रतीत होता है)
Pzrq ने कई अन्य अच्छे सामानों के बारे में कहा, लेकिन मैं सभी अच्छे सामानों के कारण उनके उत्तर से चूक गया। चूँकि मेरे पास 50 अंक नहीं हैं, इसलिए मैं उनके उत्तर पर टिप्पणी नहीं कर सकता कि वह सरल समाधान पर ध्यान आकर्षित करने का प्रयास करता है जो काम करता है, और चूंकि मेरे पास 15 नहीं है मैं उस उत्तर को वोट नहीं दे सकता, लेकिन मैं पोस्ट कर सकता हूं (पीछे की ओर महसूस करता है, लेकिन ओह अच्छा) - तो यहाँ मैं पोस्ट कर रहा हूँ - शायद उसके लिए अंक खो दें ...
चूँकि मेरी बात pzrq के उत्तर पर ध्यान आकर्षित करने के लिए है, कृपया इस पर ध्यान न दें और इसे नीचे दिए गए सभी शब्दों में याद करें। इस पोस्ट की पहली कुछ पंक्तियाँ सबसे महत्वपूर्ण हैं।
मेरी कहानी:
मैं यहाँ जो समस्या लेकर आया था वह यह था कि क्या आप एक ऐसे वर्ग से अपवाद को पकड़ना चाहते हैं जिस पर आपका कोई नियंत्रण नहीं है - फिर क्या ??? मैं निश्चित रूप से सभी संभव वर्गों को उपवर्ग में नहीं जा रहा हूँ, मेरा कोड सभी संभावित अपवादों से एक संदेश प्राप्त करने में सक्षम होने के प्रयास में उपयोग करता है!
मैं उपयोग कर रहा था:
except Exception as e:
print '%s (%s)' % (e.message,type(e))
जो, जैसा कि हम सभी अब जानते हैं, चेतावनी ओपी के बारे में पूछती है (जो मुझे यहां लाया था), और यह, जो कि इसे करने के तरीके के रूप में देता है:
except Exception as e:
print '%s (%s)' % (str(e),type(e))
नहीं किया।
मैं एक यूनिकोड वातावरण में नहीं हूं, लेकिन jjc के उत्तर ने मुझे आश्चर्यचकित कर दिया, इसलिए मुझे यह प्रयास करना पड़ा। इस संदर्भ में यह बन जाता है:
except Exception as e:
print '%s (%s)' % (unicode(e),type(e))
जो, मेरे आश्चर्य करने के लिए, बिल्कुल str (e) की तरह काम किया - तो अब यही मैं उपयोग कर रहा हूँ।
पता नहीं अगर 'str (e) / यूनिकोड (e)' स्वीकृत पायथन तरीका है ', और मुझे शायद पता चल जाएगा कि जब मैं 3.0 में पहुंचता हूं तो यह अच्छा क्यों नहीं है, लेकिन एक को उम्मीद है कि एक को संभालने की क्षमता मरने के बिना अप्रत्याशित अपवाद (*) और अभी भी इससे कुछ जानकारी मिलती है जो कभी दूर नहीं जाएगी ...
(*) हम्म। "अप्रत्याशित अपवाद" - मुझे लगता है कि मैंने अभी-अभी ठोकर खाई है!