2011-05-23 17 views
74

पाइथन में, क्या कथन try कथन के लिए एकाधिक संभव है? जैसे:पायथन: एक को छोड़कर

try: 
#something1 
#something2 
except ExceptionType1: 
#return xyz 
except ExceptionType2: 
#return abc 
+0

संभवतः कुछ 1 'कुछ को छोड़कर' पंक्ति में एक अपवाद वर्ग है? –

+1

@ सेंटिनल - पर्याप्त मेला। अगर मैं एसओ समुदाय का दुरुपयोग करता हूं तो क्षमा मांगो। – Eva611

+3

@ ईवा 611: क्षमा न करें। (1) इसे आज़माएं। (2) अपने प्रश्न का उत्तर पोस्ट करें। –

उत्तर

149

हां, यह संभव है।

try: 
    ... 
except FirstException: 
    handle_first_one() 

except SecondException: 
    handle_second_one() 

except (ThirdException, FourthException, FifthException) as e: 
    handle_either_of_3rd_4th_or_5th() 

except Exception: 
    handle_all_other_exceptions() 

देखें: http://docs.python.org/tutorial/errors.html

"के रूप में" कीवर्ड ताकि त्रुटि कोड में अधिक अच्छी तरह से बाद में जांच की जा सकती है एक चर करने के लिए त्रुटि आवंटित करने के लिए प्रयोग किया जाता है। यह भी ध्यान रखें कि ट्रिपल अपवाद मामले के लिए कोष्ठक की आवश्यकता है पायथन 3 में। इस पृष्ठ में अधिक जानकारी है: Catch multiple exceptions in one line (except block)

+28

यदि आप दोनों मामलों में एक ही काम करना चाहते हैं, तो यह 'सिवाय (कुछ त्रुटि, अन्य त्रुटि): '। ओपी प्रश्न का उत्तर नहीं देता है, लेकिन Google के माध्यम से यहां आने वाले कुछ लोगों की सहायता कर सकता है। – Mark

+3

@ मार्क: अच्छा बिंदु, इसका जोड़ा उदाहरण। – vartec

+0

उदाहरण के लिए, उदाहरण के लिए कोड के संस्करणों को अद्यतन करते समय, आपको डेटा संरचना के एकाधिक संस्करणों को एक नई संरचना में परिवर्तित करना होगा, आप कोशिश कर सकते हैं .. excepts। –

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