2010-05-18 10 views
8

ऐसा लगता है कि यह प्रचुर मात्रा में जानकारी है क्योंकि कक्षा के उपयोग से यह स्पष्ट हो जाएगा कि यह एक अपवाद है। इसके अलावा, PHP में, कक्षा को Exception वर्ग का विस्तार करना चाहिए ताकि यह स्पष्ट हो सके कि कक्षा को स्वयं देखते समय यह एक अपवाद है।अपवादों में आम तौर पर कक्षा के नाम में प्रत्यय 'अपवाद' क्यों होता है?

इसके बावजूद, डेवलपर आमतौर पर प्रत्यय 'अपवाद' लागू करते हैं। ऐसा क्यों है?

उत्तर

12

मुझे इसके लिए कोई बाध्यकारी नियम नहीं है, लेकिन मुझे लगता है कि यह समझ में आता है।

class FileNotFound 

चीजों के एक नंबर हो सकता है, जबकि

class FileNotFoundException 

अपवाद चरित्र बहुत स्पष्ट करता है।

+1

मैंने यह सोचा, लेकिन इसका उपयोग कभी भी क्लास FileNotFound के संदर्भ में अपवाद को बढ़ाता है, या फेंकने और पकड़े जाने पर। –

+0

@ हां हां, लेकिन यदि आप एक आईडीई के साथ काम करते हैं, तो कक्षा आपके प्रोजेक्ट एक्सप्लोरर/कोड एक्सप्लोरर में दिखाई देगी, और भ्रम पैदा कर सकती है। "अपवाद" उपसर्ग के साथ, लंबे समय तक आईएमओ में चीजें स्पष्ट होती हैं। –

+0

अच्छा बिंदु, मैंने इसे नहीं माना था। धन्यवाद! –

4

दो कक्षाएं, अमान्य इंडेक्स और अमान्य इंडेक्स अपवाद की कल्पना करें। अमान्य इंडेक्स नाम की एक श्रेणी पूरी तरह से मान्य हो सकती है (उदा। डेटाबेस इंडेक्स या उस तरह कुछ ऐसा करने के लिए) और अपवाद से संबंधित नहीं है। अगर अब आपके पास अमान्य सरणी इंडेक्स के लिए अपवाद था तो आपके पास नामकरण समस्या होगी। अपवाद के साथ अपवाद वर्गों को प्रत्ययित करके, आप इस तरह के नाम विवादों से बचें।

+1

उस तर्क के अनुसार, सभी वर्गों को प्रोजेक्ट नाम और चंद्रमा के चरण के साथ पूर्व-या पोस्टफिक्स किया जाना चाहिए - यह नाम विवादों से बचाता है, है ना? –

+1

वह चंद्रमा के चरण के लिए +1 है। मैं अमान्य अर्ग्यूमेंट देखने के लिए उत्सुक हूंअनशॉपिंगकार्टफुलमून अपवाद – Artefacto

+1

@ बोर्गवर्ड - आप "कभी-कभी" एक अच्छा विचार "भ्रमित कर रहे हैं" आपको हमेशा "होना चाहिए। –

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