Ga naar inhoud
Java-uitzonderingenFataal
StackOverflowError

StackOverflowError

De aanroepstack heeft zijn maximale grootte overschreden, meestal door diepe of oneindige recursie.

jvmandroid

Wat veroorzaakt deze fout

Een methode roept zichzelf recursief aan zonder een juiste basiscase, of wederzijdse recursie tussen methoden creëert een oneindige lus. Elke methodeaanroep verbruikt stackruimte totdat de limiet is bereikt.

Hoe op te lossen

Voeg een basiscase toe aan recursieve methoden of corrigeer deze. Converteer recursie naar iteratie. Vergroot de stackgrootte met de JVM-vlag -Xss. Controleer op onbedoelde oneindige recursie in constructors of toString-methoden.

Voorbeeld

void recurse() { recurse(); }
Officiële documentatie

Gerelateerde foutcodes