अपवाद वर्गों पर अपवाद का एक प्रत्यय निर्दिष्ट करना मेरे लिए एक कोड गंध की तरह लगता है (अनावश्यक जानकारी - शेष नाम एक त्रुटि स्थिति का अर्थ है और यह अपवाद से विरासत में मिला है)। हालाँकि, ऐसा भी लगता है कि हर कोई ऐसा करता है और यह अच्छा अभ्यास है।
मैं यह समझना चाह रहा हूं कि यह अच्छा अभ्यास क्यों है।
मैंने इस प्रश्न को पहले ही देखा और पढ़ा है कि अपवादों का वर्ग नाम में आमतौर पर प्रत्यय क्यों होता है
सवाल PHP के लिए है और जबकि प्रतिक्रियाएं संभवतः जावा के लिए मान्य हैं। क्या कोई अन्य तर्क हैं या क्या यह वास्तव में उतना ही सरल है जितना स्पष्ट रूप से उन्हें अलग करना?
यदि हम पिछले प्रश्न से उदाहरण लेते हैं - क्या वास्तव में जावा में ऐसे नाम के साथ कक्षाएं हो सकती हैं FileNoFoundजो अपवाद नहीं हैं? अगर वहाँ हो सकता है, क्या यह इसके साथ प्रत्यय देता है Exception?
ग्रहण के त्वरित पदानुक्रम को देखते हुए Exception, निश्चित रूप से पर्याप्त है, उनमें से अधिकांश के पास अपवाद का प्रत्यय है, लेकिन कुछ अपवाद हैं। javassistएक पुस्तकालय का एक उदाहरण है जो लगता है कि प्रत्यय के बिना कुछ अपवाद हैं - जैसे BadByteCode, BadHttpRequestआदि।
BouncyCastle अपवादों के साथ एक और परिवाद है CompileError
मैं इस विषय पर बहुत कम जानकारी के साथ थोड़ा सा घूम चुका हूं।
FileNotFound ArrayIndexOutOfBoundsऔर OutOfMemoryअधिक अवलोकन / विवरण हैं, लेकिन फिर संज्ञा पर लागू होते हैं Exception।
Exceptionप्रत्यय होना चाहिए, या क्या हमें असाधारण अपवादों के लिए अपवाद बनाना चाहिए?" ;)