मुझे System.exit(0);
के साथ कोई समस्या है। मैं नीचे दिए गए कोड की कोशिश की तो उत्पादन System.exit(0);
की वजह से कुछ भी नहीं था:System.exit (0) अंततः सुरक्षा प्रबंधक होने पर रोक नहीं सकता है .checkExit एक अपवाद फेंक
String number = "12345M";
try {
System.exit(0);
} catch (Exception e) {
System.out.println("Exception caught");
} finally {
System.out.println("inside finally");
}
लेकिन जब मैं कोड के नीचे इस की कोशिश की:
System.setSecurityManager(new SecurityManager() {
@Override
public void checkExit(int status) {
throw new ThreadDeath();
}
});
try {
System.exit(0);
} finally {
System.out.println("I am finally block");
}
उत्पादन किया गया था:
मैं अंत में कर रहा हूँ ब्लॉक
क्या कोई कृपया इस अलग व्यवहार की व्याख्या करें?
पर एक नज़र System.exit() करने से रोका जाता है तो यह काम आप ऐसा नहीं की उम्मीद करनी चाहिए है करते हैं
बदलें आखिरकार बुलाए जाने से रोकें। –