वाह, मैंने आउटसोर्स डेवलपर्स से सी # में एक बड़ी परियोजना वापस प्राप्त की है और मेरे कोड समीक्षा के माध्यम से मेरे विश्लेषण टूल ने बुरी चीजों के बारे में बताया है। अधिक हतोत्साहित संदेशों में से एक था:क्या किसी पकड़े गए अपवाद को कभी भी अनदेखा करने का कोई वैध कारण
Exceptions.DontSwallowErrorsCatchingNonspecificExceptionsRule : 2106 defects
डेवलपर्स मुझे विश्वास दिलाता हूं कि वे सभी खाली पकड़ ब्लॉकों के लिए अच्छा कारण था, कि कभी कभी बेकार अपवादों को अनदेखा करें और से आवेदन रखने के लिए के साथ खाली पकड़ ब्लॉक सिर्फ देखते हैं की कोशिश दुर्घटनाग्रस्त। मुझे लगता है कि यह एक पुलिसकर्मी है और पूर्ण बीएस है। मैंने वास्तव में देखा कुछ उदाहरण डेटाबेस कॉल थे जहां रिकॉर्ड डेटाबेस में सहेजा जा रहा था, और इस मामले में, अगर एक अपवाद को नजरअंदाज कर दिया गया था, तो उपयोगकर्ता ठीक ठीक हो जाएगा, सोचें कि सब ठीक है, और साथ जारी है उनका काम। हकीकत में, उनका काम कभी नहीं बचा था। मुझे लगता है कि यह बिल्कुल सबसे भयानक त्रुटि है। इस मामले में, वे उस कोड को खाली पकड़ ब्लॉक के साथ प्रयास में फेंकने में पूरी तरह गलत हैं। लेकिन मेरा सवाल यह है, "क्या यह किसी भी स्थिति में कभी स्वीकार्य है?" मुझे नहीं लगता, लेकिन मुझे गलत होने के लिए जाना जाता है।
बिल्कुल ... जितना मैं इसे नफरत करता हूं, जब आवश्यक हो, इसे कम से कम उस अपवाद को निर्दिष्ट करना चाहिए जिसे अनदेखा होने की उम्मीद है, ताकि कुछ अस्पष्ट त्रुटि को अनदेखा न किया जा सके। और कम से कम लॉग इन होना चाहिए। – stephenbayer
आप तृतीय पक्ष पुस्तकालयों पर भरोसा कर रहे हैं अपवाद फेंकने में अति उत्साही नहीं होना चाहिए। मैं किसी और के बुरे फैसले की वजह से अपनी लॉग फ़ाइल को स्पैम नहीं करना चाहता हूं। हर नियम के अपवाद हैं। –
और एक रोब की तरह एक मामले में, मैं कुछ और विशिष्ट "फिर अनदेखा करने के लिए सुरक्षित" की सिफारिश करता हूं। टिप्पणी क्यों अपवाद को अनदेखा करना सुरक्षित है, यह न केवल दूसरों को समझने में आसान बनाता है, जब आप पुरानी परियोजनाओं की पुन: जांच करते हैं तो यह आपको सड़क से बाहर करने में मदद करेगा। –