class TestExceptions {
public static void main(String[] args) throws Exception {
try {
System.out.println("try");
throw new Exception();
} catch(Exception e) {
System.out.println("catch");
throw new RuntimeException();
} finally {
System.out.println("finally");
}
}
}
जब मैं कई बार ग्रहण में कोड चलाने की कोशिश करता हूं तो आउटपुट निम्न होते हैं। मुझे अब तक विश्वास था कि जब भी कोशिश/पकड़ ब्लॉक से कोड की आखिरी पंक्ति निष्पादित की जा रही है (जो वापस आ सकता है या नया अपवाद() प्रकार stmt फेंकता है), अंत में ब्लॉक निष्पादित किया जाएगा, लेकिन यहां आउटपुट अलग है हर बार? क्या कोई मेरी व्याख्या सही या गलत है तो क्या कोई स्पष्टीकरण दे सकता है?हर बार आउटपुट अलग क्यों होता है? कोशिश करें अंततः अपवाद कोड
try
catch
Exception in thread "main" finally
java.lang.RuntimeException
at TestExceptions.main(TestExceptions.java:9)
Exception in thread "main" try
catch
java.lang.RuntimeException
at TestExceptions.main(TestExceptions.java:9)
finally
संबंधित: http://stackoverflow.com/questions/23588123/why-does-the-execution-order-between-the-printstacktrace-and-the-other-methods – JonK