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
Oefeninstructies
- Voer de voorbeeldcode ongewijzigd uit, waarbij de waarde van
cyclesnooit verandert. Dit leidt tot een oneindige keten van aanroepen, waardoor de applicatie faalt en eenStackOverflowErrorwordt gegenereerd. - Nadat je de
StackOverflowErrorhebt gezien, voeg je+ 1toe aancyclesin de aanroep vandoWork, 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
StackOverflowErrorvermijdt.
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);
}
}
}