Ça ne fonctionne pas ! Recherche et suppression des erreurs d'exécution
Mise à jour : novembre 2007
Dans cette leçon, vous allez apprendre à déboguer votre programme et à corriger des erreurs d'exécution.
Comme vous l'avez appris auparavant, les erreurs d'exécution se produisent lorsque votre programme tente d'exécuter une opération impossible. Lorsqu'une erreur d'exécution se produit, le programme s'arrête et un message d'erreur s'affiche ; pour que le programme puisse se poursuivre, vous devez déboguer l'erreur et la corriger.
Recherche et correction des erreurs d'exécution
La plupart des erreurs d'exécution se produisent du fait de la présence d'une erreur dans votre code ; par exemple, lorsque vous oubliez d'assigner une valeur à une variable avant de l'utiliser. Lorsque vous exécutez votre programme, si une erreur est identifiée, ce dernier s'arrête et la boîte de dialogue Assistant Exception s'affiche dans la fenêtre de l'éditeur de code. Dans un tel cas, le programme est en mode arrêt ; le mode dans lequel le débogage s'effectue.
La boîte de dialogue Assistant Exception contient une description de l'erreur, ainsi que des conseils de dépannage qui en suggèrent la cause. Pour plus d'informations, vous pouvez cliquer sur les conseils de dépannage afin d'afficher des rubriques d'aide.
Vous devez résoudre l'erreur pour que le programme puisse continuer ; pour cela, vous devez d'abord inspecter votre code pour en rechercher la cause. Par exemple, si vous soupçonnez qu'une erreur se soit produite parce qu'une variable contient une valeur incorrecte, alors que vous êtes toujours en mode arrêt, vous pouvez utiliser la fonction IntelliSense pour vérifier la valeur de cette variable. Lorsque vous placez le pointeur de la souris sur la variable dans l'éditeur de code, une info-bulle en affiche la valeur. Si la valeur n'est pas celle qui est attendue, revenez au code précédent pour inspecter l'endroit où la valeur a été définie, résolvez ce code, puis poursuivez.
Essayez !
Inspecter la valeur d'une variable
Dans le menu Fichier, choisissez Nouveau projet.
Dans la boîte de dialogue Nouveau projet, dans le volet Modèles, cliquez sur Application Windows.
Dans la zone Nom, tapez RunTimeErrors, puis cliquez sur OK.
Un nouveau projet Windows Forms s'ouvre.
Double-cliquez sur le formulaire pour ouvrir l'éditeur de code.
Dans le gestionnaire d'événements Form_Load, ajoutez le code suivant.
Dim miles As Integer = 0 Dim hours As Integer = 0 Dim speed As Integer = 0
miles = 55 speed = miles / hours MsgBox(CStr(speed) & " miles per hour")
Appuyez sur F5 pour exécuter le programme. Une boîte de dialogue Assistant Exception accompagne le message "L'exception OverflowException n'a pas été gérée".
Un trait pointillé reliant la boîte de dialogue à votre fichier de code indique la ligne de code qui a provoqué l'erreur.
Remarquez que le premier conseil de dépannage de l'Assistant Exception suggère de vérifier que vous n'effectuez pas une division par zéro.
Placez le pointeur de la souris sur la variable miles et maintenez-le quelques secondes sur celle-ci. Une info-bulle doit s'afficher et indiquer "miles 55".
Maintenant, placez le pointeur de la souris sur la variable hours ; l'info-bulle doit indiquer "hours 0".
Étant donné que vous ne pouvez pas diviser par zéro et que la valeur de la variable hours est nulle, vous identifiez la cause de l'erreur : l'absence de mise à jour de la valeur de hours.
Ajoutez la ligne de code au-dessus de la ligne miles = 55.
hours = 2
Cliquez sur la flèche jaune placée dans la marge gauche du code, puis faites-la glisser jusqu'à la ligne hours = 2.
L'exécution du programme peut alors se poursuivre depuis cette ligne, plutôt que depuis la ligne qui contient l'erreur. C'est indispensable pour que la nouvelle ligne de code que vous venez d'ajouter puisse s'exécuter, afin que votre correctif d'erreur soit reconnu.
Appuyez sur F5 pour poursuivre le programme. Une boîte de dialogue s'affiche, avec le message "28 miles per hour".
Étapes suivantes
Dans cette leçon, vous avez appris comment rechercher et résoudre des erreurs d'exécution. Dans la leçon suivante, vous apprendrez le troisième type d'erreurs de programmation : les erreurs de logique. Vous pouvez examiner des techniques de débogage plus avancées dans Présentation détaillée : que se passe-t-il si... je teste du code dans la fenêtre Exécution, puis passer à la leçon sur les erreurs de logique.
Leçon suivante : Comment ? Je n'étais pas censé faire cela ! Identification des erreurs de logique
Voir aussi
Tâches
Recherche et élimination des erreurs du compilateur
Connaissance des bogues : trois types d'erreurs de programmation
Recherche des erreurs : introduction au débogage Visual Basic