2012-08-16 9 views
26

को ऊपर उठाने मैं चेतावनी संदेश निम्न पाने की पदावनत प्रपत्र:ठीक कैसे करें: W602 अगर मैं pylint (sublimerlinter के माध्यम से) का उपयोग अपवाद

W602 deprecated form of raising exception

यह मैं कैसे मैं अपने कोड में अपवाद का उपयोग करें:

if CONDITION == True: 
    raise ValueError, HELPING_EXPLANATION 
+1

मैंने इस छोटे से क्यू एंड ए को जोड़ा क्योंकि 'W602 अपवाद बढ़ाने के बहिष्कृत रूप' के लिए googling के परिणामस्वरूप कोई उपयोगी लिंक नहीं है। – Framester

उत्तर

28

कि तरह अपने अपवाद उठाएँ:

if CONDITION == True: 
    raise ValueError(HELPING_EXPLANATION) 

PEP 8 -- Style Guide for Python Code - Programming Recommendations से :

जब एक अपवाद को ऊपर उठाने, ValueError('message') बजाय पुराने रूप raise ValueError, 'message' की जुटाने का उपयोग करें।

अभिभावक-प्रयोग फ़ॉर्म को प्राथमिकता दी जाती है क्योंकि जब अपवाद तर्क लंबे होते हैं या स्ट्रिंग स्वरूपण शामिल होते हैं, तो आपको लाइन निरंतरता वर्णों का उपयोग करने वाले कोष्ठक के लिए धन्यवाद की आवश्यकता नहीं होती है। पुराने फॉर्म को पायथन 3 में हटा दिया जाएगा।

+16

इसी प्रकार, यदि आप पाइथन 2.x में ट्रेसबैक जोड़ना चाहते हैं, तो उस चेतावनी से बचने के लिए 'वैल्यूएरर, HELPING_EXPLANATION, tb'' बढ़ाने के बजाय 'raise मूल्य त्रुटि (HELPING_EXPLANATION), कोई नहीं, tb' का उपयोग करें। –

+0

इसके लायक होने के लिए, Python 2.x में ट्रेसबैक जोड़ने के लिए कोई पायथन 3-आगे-संगत तरीका नहीं है। –

+0

@TobiasKienzler - बढ़िया, धन्यवाद! मेरी इच्छा है कि आपने इसे एक उत्तर के रूप में पोस्ट किया है, इसलिए मैं इसे ऊपर उठा सकता हूं और आप प्रतिनिधि प्राप्त कर सकते हैं, लेकिन इसके बजाय आपको अपनी टिप्पणी के लिए एक अपवित्रता के लिए बसना होगा। – ArtOfWarfare

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