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
Instructions de l’exercice
- Exécutez l'exemple de code tel quel, où la valeur de
cyclesne change jamais, ce qui entraîne une boucle infinie d'appels, fait échouer l'application et génère unStackOverflowError. - Après avoir vu le
StackOverflowError, ajoutez+ 1àcyclesdans 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);
}
}
}