Aan de slagGa gratis aan de slag

Een fout oplossen

Errors zijn serieuze problemen in de Java-wereld. Soms ontstaan ze door omgevingsproblemen buiten onze controle. Andere keren schrijven we misschien slechte code die een Error veroorzaakt. In deze oefening ga je een applicatie bekijken en vervolgens corrigeren die nooit zal stoppen en een Error veroorzaakt (specifiek een StackOverflowError). Een Error zien helpt je ze later te herkennen. In tegenstelling tot exceptions kun je errors niet afhandelen met try-catch of throws.

Deze oefening maakt deel uit van de cursus

Gegevenstypen en uitzonderingen in Java

Cursus bekijken

Oefeninstructies

  • Voer de voorbeeldcode ongewijzigd uit, waarbij de waarde van cycles nooit verandert. Dit leidt tot een oneindige keten van aanroepen, waardoor de applicatie faalt en een StackOverflowError wordt gegenereerd.
  • Nadat je de StackOverflowError hebt gezien, voeg je + 1 toe aan cycles in de aanroep van doWork, zodat de waarde van cycles verandert en de oneindige lus stopt.
  • Voer de code opnieuw uit om te zien dat de applicatie nu succesvol draait en de StackOverflowError vermijdt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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);
		}
	}
}
Code bewerken en uitvoeren