Wyjątek Java nie został złapany
Dlaczego niektóre wyjątki w Javie nie są wychwytywane przezcatch (Exception ex)
? Jest to kod całkowicie zawodzący z nieobsługiwanym wyjątkiem. (Java wersja 1.4).
public static void main(String[] args) {
try {
//Code ...
} catch (Exception ex) {
System.err.println("Caught Exception");
ex.printStackTrace();
exitCode = app.FAILURE_EXIT_CODE;
}
finally {
app.shutdown();
}
System.exit(exitCode);
}
dostałemException in thread "main" java.lang.NoSuchMethodError
Ale to działa
public static void main(String[] args) {
int exitCode = app.SUCCESS_EXIT_CODE;
try {
//Code ...
} catch (java.lang.NoSuchMethodError mex){
System.err.println("Caught NoSuchMethodError");
mex.printStackTrace();
exitCode = app.FAILURE_EXIT_CODE;
} catch (Exception ex) {
System.err.println("Caught Exception");
ex.printStackTrace();
exitCode = app.FAILURE_EXIT_CODE;
}
finally {
app.shutdown();
}
System.exit(exitCode);
}
dostajęCaught NoSuchMethodError java.lang.NoSuchMethodError:
Myślałem, że łapanie wyjątków złapie wszystkie wyjątki? Jak mogę złapać wszystkie wyjątki w java?