Saltar al contenido
Excepciones de JavaGrave
StackOverflowError

StackOverflowError

La pila de llamadas ha superado su tamaño máximo, normalmente debido a recursión profunda o infinita.

jvmandroid

Qué causa este error

Un método se llama a sí mismo recursivamente sin un caso base adecuado, o la recursión mutua entre métodos crea un bucle infinito. Cada llamada a método consume espacio de pila hasta alcanzar el límite.

Cómo solucionarlo

Añade o corrige el caso base en los métodos recursivos. Convierte la recursión en iteración. Aumenta el tamaño de la pila con el flag -Xss de la JVM. Comprueba si hay recursión infinita accidental en constructores o métodos toString.

Ejemplo

void recurse() { recurse(); }
Documentación Oficial

Códigos de Error Relacionados