2017-02-13 3 views
-1

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.

+2

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. –

+0

Im Falle von wenig Speicher OutOfMemoryError catch Block wird mit App Absturz ausgeführt –

+0

@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) –

Antwort

4

Pls halten die Objekthierarchie im Sinn:

  • java.lang.Throwable
    • java.lang.Exception
    • java.lang.Error

Wenn etwas schief geht, ist es entweder ein FEHLER oder eine AUSNAHME. Es gibt keine ersten hier, da diese Klassen Geschwister sind, nicht Eltern/Kind.

+0

In meinem Fall, bekomme ich Kraftanwendung in der Nähe, indem ich nur 'Exception' verwende. – kishorsinghgour

0

java.lang.Exception und java.lang.Error (OutOfMemory ist ein Fehler) sind nicht miteinander verwandt Ausnahme für ihre gemeinsame Eltern Throwable. Also gibt es kein erstes oder zweites hier.

OutOfMemory passiert, wenn Ihr jvm stirbt (Heap voll), was selten ist, also machen Sie Cleanup-Arbeit in diesem.

+0

'Selten'? 'OutOfMemory '* Immer * passiert, wenn Ihr Heap voll ist. – EJP

+0

Ihr jvm wird selten aus dem Speicher gehen, aber wenn es tut, wird es sicherlich OutOfMemory Fehler werfen –

+0

Das ist nicht, was es in Ihrer Antwort sagt. – EJP

Verwandte Themen