Correggere un errore
Gli errori sono problemi seri nel mondo Java. A volte sono dovuti a condizioni ambientali fuori dal nostro controllo. Altre volte, potremmo scrivere codice sbagliato che provoca un Error. In questo esercizio osserverai e poi correggerai un'applicazione che non terminerà mai e causerà un Error (nello specifico, un StackOverflowError). Vedere un Error ti aiuterà a riconoscerli in futuro. A differenza delle eccezioni, gli errori non possono essere gestiti con try-catch o throws.
Questo esercizio fa parte del corso
Tipi di dati ed eccezioni in Java
Istruzioni dell'esercizio
- Esegui il codice di esempio così com'è, in cui il valore di
cyclesnon cambia mai: questo porta a un ciclo infinito di chiamate, fa fallire l'applicazione e genera unStackOverflowError. - Dopo aver visto lo
StackOverflowError, aggiungi+ 1acyclesnella chiamata adoWork, in modo che il valore di cycles cambi e si interrompa il ciclo infinito di chiamate. - Esegui di nuovo il codice per vedere l'applicazione completare l'esecuzione con successo ed evitare lo
StackOverflowError.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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);
}
}
}