Åtgärda ett fel
Fel (errors) är allvarliga problem i Java. Ibland uppstår de på grund av miljöproblem utanför vår kontroll. Andra gånger kan felaktig kod orsaka ett Error. I den här övningen får du först observera och sedan korrigera ett program som aldrig avslutas och genererar ett Error – närmare bestämt ett StackOverflowError. Att se ett Error i praktiken hjälper dig att känna igen dem i framtiden. Till skillnad från undantag kan fel inte hanteras med try-catch eller throws.
Den här övningen är en del av kursen
Datatyper och undantag i Java
Övningsinstruktioner
- Kör exempelkoden som den är, där värdet på
cyclesaldrig förändras. Det leder till en oändlig loop av anrop och gör att programmet kraschar med ettStackOverflowError. - När du sett
StackOverflowError, lägg till+ 1eftercyclesi anropet tilldoWork. Det gör att värdet påcyclesförändras och stoppar den oändliga loopen. - Kör om koden och se att programmet nu körs utan att generera ett
StackOverflowError.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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);
}
}
}