Vai al contenuto
Eccezioni JavaFatale
StackOverflowError

StackOverflowError

Lo stack delle chiamate ha superato la sua dimensione massima, di solito a causa di una ricorsione profonda o infinita.

jvmandroid

Cause di questo errore

Un metodo si chiama ricorsivamente senza un caso base appropriato, oppure la ricorsione mutua tra metodi crea un ciclo infinito. Ogni chiamata al metodo consuma spazio nello stack finché non si raggiunge il limite.

Come correggerlo

Aggiungere o correggere il caso base nei metodi ricorsivi. Convertire la ricorsione in iterazione. Aumentare la dimensione dello stack con il flag JVM -Xss. Verificare la presenza di ricorsione infinita accidentale nei costruttori o nei metodi toString.

Esempio

void recurse() { recurse(); }
Documentazione ufficiale

Codici di errore correlati