Einen Fehler beheben
Errors sind in der Java-Welt ernsthafte Probleme. Manchmal entstehen sie durch Umweltfaktoren außerhalb unserer Kontrolle. In anderen Fällen schreiben wir fehlerhaften Code, der einen Error auslöst. In dieser Übung beobachtest du zunächst eine Anwendung, die nie beendet wird und einen Error verursacht (genauer: einen StackOverflowError), und korrigierst sie dann. Wenn du einen Error gesehen hast, kannst du ihn zukünftig leichter erkennen. Anders als Exceptions lassen sich Errors nicht mit try-catch oder throws behandeln.
Diese Übung ist Teil des Kurses
Datentypen und Exceptions in Java
Anleitung zur Übung
- Führe den Beispielcode unverändert aus, bei dem sich der Wert von
cyclesnie ändert. Das führt zu einer Endlosschleife von Aufrufen, lässt die Anwendung abstürzen und erzeugt einenStackOverflowError. - Nachdem du den
StackOverflowErrorgesehen hast, füge+ 1zucyclesim Aufruf vondoWorkhinzu. Dadurch ändert sich der Wert von cycles, und die Endlosschleife von Aufrufen wird beendet. - Führe den Code erneut aus, um zu sehen, wie die Anwendung erfolgreich läuft und den
StackOverflowErrorvermeidet.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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);
}
}
}