2008-09-29 7 views
8

क्या पाइथन में कोई तरीका है कि यह निर्धारित करने के लिए कि कोई अंतर्निहित (अंतर्निहित) फ़ंक्शन उठा सकता है? उदाहरण के लिए, अंतर्निहित int (ओं) के लिए प्रलेखन (http://docs.python.org/lib/built-in-funcs.html) इस तथ्य के बारे में कुछ भी नहीं कहता है कि यह वैल्यूएरर बढ़ा सकता है यदि एस वैध रूप से स्वरूपित int नहीं है।पाइथन फ़ंक्शन किस अपवाद को बढ़ा सकता है?


यह Does re.compile() or any given Python library call throw an exception?

+2

अरे, कोई इसे फिर से खोलता है। यह एक डुप्लिकेट नहीं है। – epochwolf

उत्तर

0

का डुप्लिकेट मैं अलग स्रोत से, किसी भी निश्चित स्रोत के बारे में पता नहीं है।

7

दस्तावेज को देखकर कुछ अपवाद उठाने का एकमात्र तरीका यह बताने का एकमात्र तरीका है। तथ्य यह है कि int() प्रलेखन यह नहीं कहता है कि यह ValueError प्रलेखन में एक बग है, लेकिन आसानी से उस उद्देश्य के लिए ValueError द्वारा समझाया जा सकता है, और यह कि कुछ "हर कोई जानता है"।

बिंदु को कम करने के लिए, हालांकि, दस्तावेज ही यह बताने का एकमात्र तरीका है कि आपको किस अपवाद की परवाह करनी चाहिए; असल में, कोई भी फ़ंक्शन संभावित रूप से कोई अपवाद बढ़ा सकता है, भले ही यह सिग्नल आ सकता है और सिग्नल हैंडलर अपवाद उठा सकते हैं। आपको उन त्रुटियों की उम्मीद या संभाल नहीं करना चाहिए, हालांकि; आपको केवल उन त्रुटियों को संभालना चाहिए जिन्हें आप उम्मीद करते हैं।

संबंधित मुद्दे