Zum Inhalt springen
Java-AusnahmenFatal
StackOverflowError

StackOverflowError

Der Call-Stack hat seine maximale Größe überschritten, meist durch tiefe oder unendliche Rekursion.

jvmandroid

Was verursacht diesen Fehler

Eine Methode ruft sich selbst rekursiv ohne korrekten Basisfall auf, oder gegenseitige Rekursion zwischen Methoden erzeugt eine Endlosschleife. Jeder Methodenaufruf verbraucht Stack-Speicher, bis das Limit erreicht ist.

So beheben Sie ihn

Den Basisfall in rekursiven Methoden hinzufügen oder korrigieren. Rekursion in Iteration umwandeln. Die Stack-Größe mit dem JVM-Flag -Xss erhöhen. Auf versehentliche unendliche Rekursion in Konstruktoren oder toString-Methoden prüfen.

Beispiel

void recurse() { recurse(); }
Offizielle Dokumentation

Verwandte Fehlercodes