में संसाधन रिसाव चेतावनी Eclipse
में मुझे Resource leak: 'ps' is not closed at this location
चेतावनी मिली जो मुझे समझ में नहीं आया।ग्रहण
मेरे Java
कोड में मैं "ps" को एक तैयार वक्तव्य के रूप में घोषित करता हूं और मैं इसे कई बार (और बंद) करता हूं।
try {
if(condition) {
ps = c.prepareStatement("UPDATE 1 ...");
} else {
ps = c.prepareStatement("UPDATE 2 ...");
}
ps.executeUpdate();
} catch (SQLException e) {
// exception handling
} finally {
if (null != ps)
try {
ps.close();
} catch (SQLException e) {
// exception handling
};
}
"संसाधन रिसाव" -Warning बाकी खंड में "अपडेट" -Statement पर आता है: तब मैं निम्न क्रम है। यदि मैं कोशिश ब्लॉक शुरू करने से पहले ps = null
सेट करता हूं, तो कोई चेतावनी नहीं है।
यदि दूसरा अद्यतन-वक्तव्य टिप्पणी की गई है, तो कोई चेतावनी नहीं दिखायी जाएगी।
क्या यह समझ या जावा/ग्रहण समस्या है?
मेरा अनुमान है कि ग्रहण यह पता लगा रहा है कि आप पहले तैयार कथन ऑब्जेक्ट का उपयोग कर रहे हैं और SQLException के लिए संभावित कारणों से इसे ठीक से बंद नहीं किया जा सकता है। यदि आप 'ps = null' करते हैं; अंत में ब्लॉक में इसे शायद ठीक किया जाएगा और इसे साफ़ करने के लिए यह एक और तर्कसंगत जगह होगी। –