हाँ, फाइनली ब्लॉक मेथड में रिटर्न स्टेटमेंट के बाद भी निष्पादित होगा।
फाइनली ब्लॉक हमेशा निष्पादित होगा चाहे जावा में अपवाद हुआ हो या नहीं। यदि हम System.exit() मेथड को फाइनली ब्लॉक में स्पष्ट रूप से कॉल करते हैं तो केवल यह निष्पादित नहीं होगा। कुछ स्थितियाँ हैं जहां फाइनली निष्पादित नहीं होगा जैसे JVM क्रैश, पावर फेल्योर, सॉफ्टवेयर क्रैश आदि। इन शर्तों के अलावा, फाइनली ब्लॉक हमेशा निष्पादित होगा।
उदाहरण
public class FinallyBlockAfterReturnTest {
public static void main(String[] args) {
System.out.println(count());
}
public static int count() {
try {
return 1;
} catch(Exception e) {
return 2;
} finally {
System.out.println("फाइनली ब्लॉक मेथड में रिटर्न स्टेटमेंट के बाद भी निष्पादित होगा");
}
}
}
आउटपुट
फाइनली ब्लॉक मेथड में रिटर्न स्टेटमेंट के बाद भी निष्पादित होगा 1