जाओ देखो कि दोनों raise MyException
और raise MyException()
एक ही बात करते हैं। यह पहला फॉर्म ऑटो आपके अपवाद को तुरंत चालू करता है।
relevant section from the docs कहते हैं, "उठाने अपवाद वस्तु के रूप में पहली अभिव्यक्ति मूल्यांकन करता है। यह या तो एक उपवर्ग या BaseException का एक उदाहरण होना चाहिए। यदि यह एक वर्ग है, अपवाद उदाहरण जब जरूरत प्राप्त की जाएगी instantiating द्वारा बिना तर्क के वर्ग। "
यह कहा गया है कि भले ही अर्थशास्त्र समान हैं, पहला रूप सूक्ष्म रूप से तेज़ है, और दूसरा रूप अधिक लचीला है (क्योंकि यदि आवश्यक हो तो आप इसे तर्क दे सकते हैं)।
सामान्य शैली जो कि अधिकांश लोग पाइथन (यानी मानक पुस्तकालय में, लोकप्रिय अनुप्रयोगों में और कई पुस्तकों में) में उपयोग करते हैं, कोई तर्क नहीं होने पर raise MyException
का उपयोग करना है। जब लोग कुछ तर्क पारित करने की आवश्यकता होती है तो लोग केवल अपवाद को तुरंत चालू करते हैं। उदाहरण के लिए: raise KeyError(badkey)
।
स्रोत
2013-05-23 06:34:35
आपको '()' जैसे नाम 'त्रुटि' ('HiThere') जैसे कुछ तर्क पारित करने की आवश्यकता हो सकती है [8.4। अपवादों को बढ़ाना] (http://docs.python.org/2/tutorial/errors.html#raising-exceptions) –
@GrijeshChauhan: मुझे लगता है कि प्रश्न 'नाम Error' बनाम' नाम Error() 'बढ़ाने के बारे में है। – Blender
@ ब्लेंडर हां मैंने अभी प्रश्न को समझ लिया है, मैं भी नया शिक्षार्थी हूं :) –