जवाब बस raise
करना है। यह मोटे तौर पर के बराबर है: आपको लगता है एक और अपवाद कैच ब्लॉक (स्पष्ट रूप से इस मामले में असंभव) में फेंक दिया जा सकता है, तो
except SomeException as e:
raise e
, यदि आप बाद प्रारूप का उपयोग सुनिश्चित करने के लिए आप सही अपवाद फिर से उठाना चाहिए।
हालांकि, मेरी टिप्पणी में बताया गया है:
सरल जवाब: नहीं। अपवादों को पकड़ने के लिए यह वास्तव में खराब अभ्यास है, क्योंकि आप उन लोगों को पकड़ने के लिए प्रवृत्त होंगे जिनके लिए आपका मतलब नहीं था, त्रुटियों को अस्पष्ट करना। ऐसी चीज करने के लिए केवल वैध मामलों की एक छोटी संख्या है।
बस उन त्रुटियों को पकड़ें जो आपको लगता है कि आपका कोड फेंक सकता है, और आप जानते हैं कि कैसे संभालना है, और किसी अन्य को छोड़ दें। यदि कुछ और होता है, तो आपका प्रोग्राम बाहर निकल जाएगा - जो है जो आप चाहते हैं, क्योंकि आप देख सकते हैं कि यह क्यों हुआ और इसे सही तरीके से संभाल लें।
स्रोत
2013-04-20 18:17:49
सरल उत्तर: नहीं। सभी अपवादों को पकड़ने के लिए यह वास्तव में खराब प्रथा है, क्योंकि आप उन लोगों को पकड़ने के लिए प्रवृत्त होंगे जिनके बारे में आप मतलब नहीं थे, त्रुटियों को अस्पष्ट करना। ऐसी चीज करने के लिए केवल वैध मामलों की एक छोटी संख्या है। –
आपने अपने खुद के प्रश्न का उत्तर दिया है। हमें बताएं कि आप अपने पास से असंतुष्ट क्यों हैं। –
@ रोब काफी नहीं, उसका उदाहरण एक * नया * अपवाद बना देगा, पुराने को फिर से नहीं उठाएगा। –