निम्न विधि में, संकलक के बारे में शिकायत करता है कि गुम हो गया है, भले ही केवल एक ही रास्ता है विधि, और इसमें return
कथन शामिल है। त्रुटि को दबाने के लिए एक और return
कथन की आवश्यकता है।कंपाइलर "लापता वापसी कथन" के बारे में शिकायत करता है, भले ही वापसी की स्थिति में कमी आती है, जहां वापसी का विवरण गुम हो जाएगा
public int foo() {
if (true) {
return 5;
}
}
यह देखते हुए कि Java compiler can recognize infinite loops, कारण है कि यह इस स्थिति से निपटने नहीं करता है और साथ ही? जुड़ा हुआ सवाल संकेत देता है, लेकिन इस विशिष्ट मामले के लिए विवरण प्रदान नहीं करता है।
'foo4()' में संकलक इतना चालाक नहीं है कि यह समझता है कि फ़ंक्शन हमेशा 5 लौटाता है। यह सिर्फ जांचता है कि सभी कोड पथ कुछ वापस नहीं करते हैं। –
यदि कथन का विशेष रूप से प्रवाह विश्लेषण में इलाज किया जाता है, तो जेएलएस 14.21 देखें: * यदि कथन, ... असामान्य तरीके से संभाला जाता है। इस कारण से, इस खंड के अंत में अलग-अलग चर्चा की जाती है * – irreputable
@irreputable भविष्य में, यदि आप एक प्रश्न बंद करने पर विवाद करना चाहते हैं, तो मॉडरेटर समीक्षा के लिए पोस्ट को फ़्लैग करने या [मेटा] पर पोस्ट करने पर विचार करें। यह अपमानजनक लोगों या पदों को बर्बाद करने के आसपास चलने से कहीं अधिक रचनात्मक है। –