Corrigiendo un error
Los errores son problemas graves en el mundo de Java. A veces se deben a factores del entorno que no controlamos. Otras veces, escribimos código incorrecto que provoca un Error. En este ejercicio, observarás y luego corregirás una aplicación que nunca termina y provoca un Error (concretamente, un StackOverflowError). Ver un Error te ayudará a identificarlos en el futuro. A diferencia de las excepciones, los errores no se pueden manejar con try-catch ni con throws.
Este ejercicio forma parte del curso
Tipos de datos y excepciones en Java
Instrucciones del ejercicio
- Ejecuta el código de ejemplo tal cual, donde el valor de
cyclesnunca cambia, lo que lleva a un bucle infinito de llamadas, hace que la aplicación falle y genera unStackOverflowError. - Después de ver el
StackOverflowError, añade+ 1acyclesen la llamada adoWork, haciendo que el valor de cycles cambie y detenga el bucle infinito de llamadas. - Vuelve a ejecutar el código para ver cómo la aplicación se ejecuta correctamente y evita el
StackOverflowError.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
public class ErrorGeneration {
public static void main(String[] args) {
System.out.println("Started the work");
doWork(0);
System.out.println("Work complete");
}
public static void doWork(int cycles) {
if (cycles < 10) {
// Add +1 to cycles after running
doWork(cycles);
}
}
}