हां, किसी विधि में रिटर्न स्टेटमेंट के बाद भी अंत में ब्लॉक निष्पादित किया जाएगा।
आखिरकार अवरोधित करें हमेशा जावा में एक अपवाद भी निष्पादित होगा या नहीं। अगर हम 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("Finally block will execute even after a return statement in a method"); } } }
आउटपुट
Finally block will always excute even after a return statement in a method 1