IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Esegui il codice di esempio così com'è, in cui il valore di cycles non cambia mai: questo porta a un ciclo infinito di chiamate, fa fallire l'applicazione e genera un StackOverflowError.
  • Dopo aver visto lo StackOverflowError, aggiungi + 1 a cycles nella chiamata a doWork, 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);
		}
	}
}
Modifica ed esegui il codice