तर्कसंगत अनुप्रयोग डेवलपर (ग्रहण पर आधारित आरएडी) में, सॉफ्टवेयर विश्लेषक के तहत, मुझे एक कोड समीक्षा टिप्पणी (प्रदर्शन => मेमोरी सेक्शन) के तहत "अंत में फेंक स्टेटमेंट से बचें" कह रही है।अंततः एक प्रदर्शन समस्या को अवरुद्ध करने के अंदर एक अपवाद फेंक रहा है?
आखिरकार ब्लॉक के अंदर फेंक को परिभाषित करने से प्रदर्शन प्रभावित होता है?
यहाँ कोड का टुकड़ा है, हम पहले से ही अपवाद ट्रेस लॉग इन करने के कोड बदलने के लिए सुझाव दिया है और अपवाद नहीं है,
} finally {
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (final IOException ex) {
throw ex;
}
}
}
मैं सिर्फ यह कैसे स्मृति और प्रदर्शन को प्रभावित कर सकता है सोच रहा था ?
** पृथ्वी पर क्यों आप कभी भी 'आखिरकार' ब्लॉक में अपवाद फेंक देंगे? ** ऐसा मत करो। कभी। –
यदि आपके पास दो ऑब्जेक्ट्स हैं जिन्हें क्लीनअप, 'ए' और' बी 'की आवश्यकता है, लेकिन' ए 'की सफाई पहले से ही अपवाद फेंकती है, तो' बी 'की अनुपलब्ध सफाई मेमोरी लीक बना सकती है ... लेकिन यह सिर्फ एक अनुमान है। आखिरकार ब्लॉक के अंदर अपवाद फेंकना अच्छा नहीं है लेकिन स्मृति मुद्दे मेरे लिए शीर्ष कारण नहीं होंगे। –
http://stackoverflow.com/questions/481446/throws-exception-in-finally-blocks – brso05