CommencezCommencez gratuitement

Corriger une erreur

Les erreurs sont des problèmes sérieux dans l'univers Java. Parfois, elles sont causées par l'environnement et échappent à notre contrôle. D'autres fois, c'est un mauvais code qui provoque une Error. Dans cet exercice, vous allez observer puis corriger une application qui ne se termine jamais et déclenche une Error (plus précisément, un StackOverflowError). Voir une Error vous aidera à les reconnaître à l'avenir. Contrairement aux exceptions, les erreurs ne peuvent pas être gérées avec try-catch ni avec throws.

Cette activité fait partie du cours

Types de données et exceptions en Java

Voir le cours

Instructions de l’exercice

  • Exécutez l'exemple de code tel quel, où la valeur de cycles ne change jamais, ce qui entraîne une boucle infinie d'appels, fait échouer l'application et génère un StackOverflowError.
  • Après avoir vu le StackOverflowError, ajoutez + 1 à cycles dans l'appel à doWork, ce qui fera varier la valeur de cycles et arrêtera la boucle infinie d'appels.
  • Exécutez de nouveau le code pour voir l'application s'exécuter correctement et éviter le StackOverflowError.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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);
		}
	}
}
Modifier et exécuter le code