क्या Java में finally ब्लॉक हमेशा निष्पादित होता है? बारीकियों को समझते हैं
सभी को नमस्कार! मैं एक शुरुआती Java डेवलपर हूँ, और मुझे finally ब्लॉक को लेकर भ्रम हो गया है। मैंने पढ़ा था कि finally हमेशा निष्पादित होता है, चाहे अपवाद फेंका गया हो या नहीं। लेकिन व्यवहार में, मुझे कई स्थितियों का सामना करना पड़ा जहाँ ऐसा नहीं लगता।
यहाँ मेरे द्वारा परीक्षण के लिए लिखा गया कोड का उदाहरण है:
```java
public class FinallyTest {
public static void main(String[] args) {
System.out.println("परिणाम: " + testFinally());
}
public static int testFinally() {
try {
System.out.println("try ब्लॉक में");
return 1;
} catch (Exception e) {
System.out.println("catch ब्लॉक में");
return 2;
} finally {
System.out.println("finally ब्लॉक में");
return 3; // यही मुझे भ्रमित करता है
}
}
}
```
मुझे उम्मीद थी कि मेथड 1 (try से) लौटाएगी, लेकिन इसने 3 लौटाया! तो क्या finally ने return को ओवरराइड कर दिया? या मैं कुछ गलत समझ रहा हूँ?
इसके अलावा, मैंने सुना है कि अगर