CommencerCommencer gratuitement

Corriger une erreur

Les erreurs sont des problèmes graves dans l’univers Java. Parfois, elles proviennent de facteurs environnementaux hors de notre contrôle. D’autres fois, c’est un mauvais code qui déclenche une Error. Dans cet exercice, vous allez observer puis corriger une application qui ne se termine jamais et provoque une Error (en l’occurrence, 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.

Cet exercice fait partie du cours

Types de données et exceptions en Java

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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