Ich mag die catch-Block fragen, wird zuerst bei Aussage etwas genannt werden, wiePriorität zwischen OutOfMemoryError und Exception
try {
...some statement...
} catch (Exception ex) {
System.out.println("out of memory exception");
} catch (OutOfMemoryError error) {
System.out.println("out of memory error");
}
hier Anweisung OutOfMemoryError
verursacht. Ich habe überprüft Order of catching exceptions in Java
Das ist etwas anderes, kann man nicht vorhersagen, dass es wäre ein RunTimeException
tritt auf, wenn Code nahtlos verläuft.
Ausnahmen und Fehler sind orthogonal (sie haben einen gemeinsamen Supertyp, aber einer ist nicht der Supertyp des anderen). Eine Ausnahme wird abgefangen, wenn eine Ausnahme ausgelöst wird. Wenn ein Fehler ausgelöst wird, wird ein Fehler festgestellt. –
Im Falle von wenig Speicher OutOfMemoryError catch Block wird mit App Absturz ausgeführt –
@EJP Ihr Duplikat betrifft nur Ausnahmen, diese Frage ist etwas anders (Ausnahme vs. Fehler). (Ja, wahrscheinlich ist es immer noch ein Duplikat woanders;) aber nicht dieses) –