SlideShare une entreprise Scribd logo
Microsoft Visual Basic .NET
 Découverte du nouvel environnement
Visual Studio .NET
 Eléments du langage Visual Basic .NET
 Etude et mise en œuvre des
fonctionnalités du nouveau Framework
.NET
 Programmation orientée objet et
développement de composants
réutilisables
 Accès aux données avec ADO .NET
Professeur: Hamza SAID
1
Etude et mise en œuvre des fonctionnalités
du nouveau Framework .NET
 Classes de base spécialisées dans
le traitement des valeurs numérique,
des chaînes de caractères et des
dates ainsi que leur formatage
 Classes dédiées aux opérations sur
les fichiers et les dossiers
 Débogage et Gestion des
exceptions
Professeur: Hamza SAID
2
1. Introduction au débogage
2. Travailler en mode Break
3. Les fenêtres de débogage
4. La notion d'exception
Débogage et Gestion des exceptions3
Professeur: Hamza SAID
Etude et mise en œuvre des fonctionnalités
du nouveau Framework .NET
• Visual Studio .NET offre plusieurs outils de
débogage qui permettent d'observer et de vérifier
le comportement d’une l'application.
• Il existe 3 types d’erreur:
1. Les erreurs de syntaxe.
2. Les erreurs d'exécution.
3. Les erreurs de logique.
Introduction au débogage4
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Les erreurs de syntaxe
• Sont détectées automatiquement
• par l'éditeur de Visual Studio.
• ou lors de la génération du projet en mode Run.
• Sont liées aux types des données, paramètres....
Introduction au débogage5
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Les erreurs d'exécution
• Surviennent lorsque l'exécution d'une instruction échoue
• Ex.: tentative d'ouverture d'un fichier qui n'existe pas
• Provoque l'apparition d'un message et l'arrêt brutal de
l'application.
• Il faut prévoir une gestion des erreurs d'exécution afin
d'éviter l'arrêt de l'application.
• À l'aide de l’instruction « Try Catch », on pourra intercepter l'erreur et informer
l'utilisateur.
Introduction au débogage6
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Les erreurs de logique
• Sont plus difficiles à détecter.
• Le code est syntaxiquement correct, mais il ne
réalise pas les opérations prévues.
• C'est là qu'intervient le débogage afin de
diagnostiquer l'origine de l'erreur.
Introduction au débogage7
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Pour déboguer, il faut lancer l'exécution du programme,
puis:
• Suspendre l'exécution à certains endroits du code
• Voir ce qui se passe puis faire avancer le programme pas à pas.
• Afficher des informations de débogage quand le programme tourne.
Introduction au débogage8
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Le passage en mode break se fait en appuyant sur le bouton
« Interrompre tout » ou en créant un point d’arrêt.
On va voir:
1. Comment définir un point d'Arrêt
2. L'instruction « Stop »
3. Les outils de débogage
Travailler en mode « Break »9
Professeur: Hamza SAID
Débogage et Gestion des exceptions
• Pour définir un point d'arrêt en mode « Design », il suffit de cliquer dans la bande grise située dans la partie
gauche de la fenêtre de code, devant la ligne de l'instruction voulue.
• La ligne d'un point d'arrêt est affichée en marron est précédée d'un point de la même couleur
• Un point d'Arrêt se retire de la même manière qu'il se définit (cliquez sur le point marron situé en début de ligne)
• Les points d'arrêt ne sont pas pris en compte lors de la génération de l'application finale
Comment définir un point d'Arrêt10
Professeur: Hamza SAID
Travailler en mode « Break »
Comment définir un point d'Arrêt11
Professeur: Hamza SAID
Démonstration
• L'instruction « Stop » permet aussi d'interrompre l'application
• Exemple:
L'instruction « Stop »12
Professeur: Hamza SAID
Travailler en mode « Break »
Dim Multiplication(10, 10) As Integer
Dim i, j As Integer
For i = 1 To 10
For j = 1 To 10
'S'arrêter lorsqu'on calcul un multiple de 5
If i = 5 Or j = 5 Then Stop
Multiplication(i, j) = i * j
Next
Next
• Attention :
• Cette instruction est prise en compte après compilation.
• Il faut la supprimer avant de générer l'application finale.
• Ou utiliser une constante nommée « DEBUG » qui aura la valeur « True » si on
est en mode « Debug ».
L'instruction « Stop »13
Professeur: Hamza SAID
Travailler en mode « Break »
#If DEBUG Then
Stop
#End If
Ici « Stop » se produira uniquement si on est en mode « Debug ».
En mode « Run », il n'y aura pas d'arrêt.
• Accessible soit par le menu « Déboguer » soit par la barre d'outils
« Standard »
• Ils offrent les fonctionnalités suivantes:
Les outils de débogage14
Professeur: Hamza SAID
Travailler en mode « Break »
Les outils de débogage15
Professeur: Hamza SAID
Travailler en mode « Break »
Bouton Description
Lancer/Continuer Lance ou redémarre l'exécution de l'application en mode Run
Interrompre tout Passe du mode Run au mode Break
Arrêter le débogage Retour au mode Design
Pas à pas détaillé Exécute l'instruction suivante. Si l'instruction comporte un appel de procédure, l'exécution se poursuit en mode
Break dans la procédure appelée.
Pas à pas principal Se comporte comme l'outil "Pas à pas détaillé" tant qu'aucun appel de procédure n'est rencontré. Si
l'instruction comporte un appel de procédure, cette dernière sera exécutée normalement comme s'il s'agissait
d'une seule instruction. L'exécution se poursuit en mode break.
Pas à pas sortant Relance l'exécution du code jusqu'à la fin de la procédure en cours. L'exécution se poursuit en mode break
dans la procédure appelante.
Les outils de débogage16
Professeur: Hamza SAID
Démonstration
• Nous permettent de suivre le comportement ainsi que
vérifier le contexte d’exécution des applications
• Ils sont accessibles à partir de la barre d'outils
« Débogage »
Les fenêtres de débogage17
Professeur: Hamza SAID
Débogage et Gestion des exceptions
• Raccourcis CTRL + ALT + B
• Utilisée pour:
• ajouter et modifier les propriétés des points d'arrêts (condition du point
d'arrêt ou nombre de passages) grâce au menu contextuel
• Désactiver/réactiver des points d'arrêt
La fenêtre « Points d'arrêt »18
Professeur: Hamza SAID
Les fenêtres de débogage
La fenêtre « Points d'arrêt »19
Professeur: Hamza SAID
Démonstration
• Raccourcis CTRL + ALT + V, A
• Affiche les variables utilisées dans l'instruction en
cours.
La fenêtre « Automatique »20
Professeur: Hamza SAID
Les fenêtres de débogage
La fenêtre « Automatique »21
Professeur: Hamza SAID
Démonstration
• Raccourcis CTRL + ALT + V, L
• Affiche le contexte d'exécution (l'ensemble des
variables locales, arguments et objets) de la
procédure en cours.
La fenêtre « Variables locales »22
Professeur: Hamza SAID
Les fenêtres de débogage
La fenêtre « Variables locales »23
Professeur: Hamza SAID
Démonstration
• Raccourcis CTRL + G
• Autorise l'exécution d'une instruction saisie
manuellement ou l'évaluation de toute expression
valide saisie à la suite d'un point d'interrogation
La fenêtre « Immédiat »24
Professeur: Hamza SAID
Les fenêtres de débogage
La fenêtre « Immédiat »25
Professeur: Hamza SAID
Démonstration
• Permet d'afficher en permanence l'évolution d'une
expression particulière en la définissant en tant qu'espion
• L'ajout des espions se fait grâce au menu "DéboguerEspion
Express...". La fenêtre Espion s'ouvre par la suite
automatiquement.
La fenêtre « Espion »26
Professeur: Hamza SAID
Les fenêtres de débogage
La fenêtre « Espion »27
Professeur: Hamza SAID
Démonstration
• Pour gérer les erreurs dans les versions précédentes de Visual Basic
utilisaient les instructions:
• « On Error Resume Next »
• et « On Error Goto ».
• L'usage du « Goto » est assimilé à une programmation non structurée
• Entraîne des Bugs de logique
• C++ et Java... disposaient depuis toujours d'une approche structurée
basée sur les instructions « Try Catch » et « Finally »
La notion d'exception28
Professeur: Hamza SAID
Débogage et Gestion des exceptions
• Les instructions « Try Catch » et « Finally » existent maintenant dans Visual
Basic .NET
• La nouvelle terminologie pour la gestion des erreurs dans Visual Basic
.NET et la gestion des exceptions
• Puisqu'une erreur d'exécution se traduit par le fait que le Framework « lève une exception ».
La notion d'exception29
Professeur: Hamza SAID
Débogage et Gestion des exceptions
Quand une exception est levée, en absence de gestionnaire d'exception dans
une procédure,
• elle est automatiquement retransmise à la prochaine procédure
appelante dans la pile des appels.
• Si cette procédure possède un gestionnaire, l'exception est alors traitée.
• Sinon, elle est de nouveau retransmise à la procédure appelante jusqu'à ce qu'un gestionnaire soit
rencontré.
• Si aucun gestionnaire n'a pu intercepter l'exception ainsi levée,
l'application se terminera brutalement en affichant le message descriptif
de l'exception.
Transmission des exceptions30
Professeur: Hamza SAID
La notion d'exception
Soit l'exemple suivant:
L'nstruction « Try Catch »31
Professeur: Hamza SAID
La notion d'exception
Dim sr As New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Si le fichier "C:tempmonfichier.txt" est occupé ou n'existe
pas, une exception sera levée (Affichage d'un message
d'erreur et arrêt brutal de l'application).
Lorsqu'une instruction (ou bloc d'instructions) est susceptible
de lever une exception, elle doit être prise en charge dans
un bloc Try Catch End Try.
L'nstruction « Try Catch »32
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
MsgBox("L'opération a échoué")
End Try
Maintenant, un message sera
affiché au lieu de l'arrêt brutal
de l'application
Codeà
gérer
Codeà
exécuter
aprèsla
détection
d’uneerreur
• Les exceptions sont des objets dérivés de la classe « System.Exception »
• Principaux membres de cette classe:
La classe « Exception »33
Professeur: Hamza SAID
La notion d'exception
Membre Description
Propriétés
HelpLink Lien vers le fichier d'aide associé à l'exception.
InnerException Instance de l'objet exceptions qui a provoqué l'exception
Message Message descriptif de l'exception
Source Nom de l'application ou de l'objet qui est à l'origine de l'erreur
StackTrace
Représentation sous forme de chaînes de la pile des appels au moment où
l'exception en cours a été levée.
TargetSite Méthode qui a levé l'exception
Méthodes
GetBaseException En cas de substitution dans une classe dérivée, retourne l'objet Exception de base.
• Dans l'exemple précédent, voici comment afficher la description de
l'exception avec la propriété 'Message'.
La classe « Exception »34
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
• La classe « Exception » est, en réalité, une classe de base
pour les différents types d'exception levée par le
Framework
• « StackOverFlowException » et
« FileNotFoundException » sont un exemple d'exception
dérivée de la classe « Exception »
• Ces classes filles sont réparties parmi les différents
espaces de nom du Framework.
• l'exception « DivideByZeroException » par exemple, est levée par la classe
principale « System »
• l'exception « DirectoryNotFoundException » est levée par la classe « System.IO »
Les classes d'exceptions dérivées35
La notion d'exception
Professeur: Hamza SAID
• On peut affiner les gestionnaires d'exception en alignant successivement
plusieurs instructions « Catch ». Chacune d'elles chargée de capturer et
de traiter un type d'exception spécifique.
Les classes d'exceptions dérivées36
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As DirectoryNotFoundException
MsgBox("Dossier invalide")
Catch ex As FileNotFoundException
MsgBox("Ouverture du fichier impossible")
Catch ex As Exception
MsgBox(ex.Message)
End Try
Professeur: Hamza SAID
Cas où le répertoire
n’existe pas
Cas où le fichier
n’existe pas
Le reste des erreurs
• Un traitement peut avoir consommé
des ressources qui doivent être
libérées
• les instructions chargées d'effectuer
les opérations de libération devront
prendre place à la suite du mot
réservé « Finally »
• le bloc « Finally » est toujours
exécuté que le traitement se termine
normalement ou en levant une
exception
L'instruction « Finally »37
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader = Nothing
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
Catch ex As DirectoryNotFoundException
MsgBox("Dossier invalide")
Catch ex As FileNotFoundException
MsgBox("Ouverture du fichier impossible")
Catch ex As Exception
MsgBox(ex.Message)
Finally
If sr IsNot Nothing Then
sr.Close()
End If
MsgBox("Fin du traitement")
End Try
• Il permet la transmission d'une exception à la procédure
appelante dans le cas d'une chaîne d'appels
Le mot clé « Throw »38
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
Throw
End Try
• Elle permet aussi la personnalisation du message d'exception.
Le mot clé « Throw »39
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
Throw New Exception("L'opération a échoué")
End Try
• La personnalisation du message associé à une exception ne permet
plus de connaître la véritable cause de sa levée.
• Mais, on peut retransmettre l'objet « Exception » original à la
procédure appelante.
Le mot clé « Throw »40
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
Throw New Exception("L'opération a échoué", ex)
End Try
• La personnalisation du message associé à une exception ne permet
plus de connaître la véritable cause de sa levée.
• Mais, on peut retransmettre l'objet « Exception » original à la
procédure appelante.
Le mot clé « Throw »41
Professeur: Hamza SAID
La notion d'exception
Dim sr As StreamReader
Try
sr = New StreamReader("C:tempmonfichier.txt")
Do Until sr.Peek = -1
Debug.WriteLine(sr.Read)
Loop
sr.Close()
Catch ex As Exception
Throw New Exception("L'opération a échoué", ex)
End Try
Dans ce cas, la propriété
« InnerException » de la
classe « Exception »
fournit une référence en
lecture seule à l'exception
sous-jacente.
On a vu :
• Comment travailler en mode break
• Comment utiliser les points d'arrêt et l'instruction « Stop »
• Les outils de débogage
• Les fenêtres de débogage (Points d'arrêt, Automatique,
Variables locales, Immédiat et Espion)
• Comment gérer les exceptions grâce au bloc « Try
Catch »
En bref42
Professeur: Hamza SAID
Débogage et Gestion des exceptions

Contenu connexe

PDF
TD4-UML-Correction
PDF
La gestion des identités et des accès... à la façon OKIOK - Claude Vigeant
PDF
Introduction à la téléphonie mobile
PPTX
Sécurité informatique
PDF
Chapitre2_Partie1.pdf
PPT
COURS_PYTHON_22.ppt
PPTX
Exposé langage-b
TD4-UML-Correction
La gestion des identités et des accès... à la façon OKIOK - Claude Vigeant
Introduction à la téléphonie mobile
Sécurité informatique
Chapitre2_Partie1.pdf
COURS_PYTHON_22.ppt
Exposé langage-b

Tendances (20)

PDF
Cours linux complet
PDF
Travaux dirigés Réseau Ethernet
PDF
Cours java
PDF
Merise+ +exercices+mcd+-+corrigés
PDF
Cryptologie
PPT
la sécurité dans la commerce electronique
PDF
Exercice 1 java Héritage
PDF
Présentation démarche gestion des risques de fraudes
PPTX
Codes Correcteurs d’Erreurs.pptx
PDF
UML Part 3- diagramme de séquences mansouri
PPTX
Le questionnaire
PPT
exposé de E- commerce
PPTX
ppt cacao titine.pptx
PDF
Mise en place de système d’information
PPT
M3 stratégies de développement de marchés
PDF
Chapitre iv algorithmes de tri
PDF
Reseaux de capteurs sans fils - WSN
PDF
Les BD NoSQL
PPSX
Algorithme & structures de données Chap II
PPTX
Introduction à Python
Cours linux complet
Travaux dirigés Réseau Ethernet
Cours java
Merise+ +exercices+mcd+-+corrigés
Cryptologie
la sécurité dans la commerce electronique
Exercice 1 java Héritage
Présentation démarche gestion des risques de fraudes
Codes Correcteurs d’Erreurs.pptx
UML Part 3- diagramme de séquences mansouri
Le questionnaire
exposé de E- commerce
ppt cacao titine.pptx
Mise en place de système d’information
M3 stratégies de développement de marchés
Chapitre iv algorithmes de tri
Reseaux de capteurs sans fils - WSN
Les BD NoSQL
Algorithme & structures de données Chap II
Introduction à Python
Publicité

Similaire à 08 visual basic .net - debogage et gestion des exceptions (20)

PDF
05 visual basic .net - variables, procedures, arguments et structures de cont...
PDF
05 visual basic .net - variables, procedures, arguments et structures de cont...
PDF
Formation VBA Excel
PPT
Cours Visual Basic.NET
PPTX
Cours VB 2012 seance 1
PDF
D g zach.1231
PPT
Programmation Evenementielle 1 object.ppt
PPTX
Environnement de développement de bases de données
PPTX
Environnement de développement de bases de données
PPTX
C# langage & syntaxe
ODP
Programmation événementielle avec VB (ISIG)
PPTX
mis
PPTX
Visual studio
PPTX
NouveautéS De Visual Basic 2010 V2
PPTX
Vbisigk
PPTX
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
PPT
Langage_C.azadaddzazazazaazeazeazeazeazeazeaze"e"&"e""rfrff"r"e"&e"e"
PDF
6752018 algorithmique
PPTX
UNIVERSTE LA FRANCOPHONIE DE NDJAMENA.pptx
PPTX
UNIVERSTE LA FRANCOPHONIE DE NDJAMENA.pptx
05 visual basic .net - variables, procedures, arguments et structures de cont...
05 visual basic .net - variables, procedures, arguments et structures de cont...
Formation VBA Excel
Cours Visual Basic.NET
Cours VB 2012 seance 1
D g zach.1231
Programmation Evenementielle 1 object.ppt
Environnement de développement de bases de données
Environnement de développement de bases de données
C# langage & syntaxe
Programmation événementielle avec VB (ISIG)
mis
Visual studio
NouveautéS De Visual Basic 2010 V2
Vbisigk
Visual Basic 9.0 – Visual Studio 2008 Quoi De Neuf 2.0
Langage_C.azadaddzazazazaazeazeazeazeazeazeaze"e"&"e""rfrff"r"e"&e"e"
6752018 algorithmique
UNIVERSTE LA FRANCOPHONIE DE NDJAMENA.pptx
UNIVERSTE LA FRANCOPHONIE DE NDJAMENA.pptx
Publicité

Plus de Hamza SAID (16)

PDF
11 visual basic .net - acces aux donnees avec ado .net
PDF
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
PDF
09 visual basic .net - exercice - liste chainee
PDF
09 visual basic .net - exercice - heritage et interfaces - primes de risque
PDF
09 visual basic .net - exercice - geometrie
PDF
07 visual basic .net - exercice - le programme quick note
PDF
07 visual basic .net - exercice - le programme anniversaire
PDF
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
PDF
06 visual basic .net - les structures de donnees, les enumerations de constan...
PDF
06 visual basic .net - exercice sur les tableaux
PDF
06 visual basic .net - exercice sur les collections
PDF
04 visual basic .net - les controles standard - exercice
PDF
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
PDF
03 visual basic .net - notions de base
PDF
02 visual basic .net - introduction a vb .net
PDF
01 visual basic .net - presentation du cours
11 visual basic .net - acces aux donnees avec ado .net
09 visual basic .net - modules de classes-constructeurs, encapsulation, herit...
09 visual basic .net - exercice - liste chainee
09 visual basic .net - exercice - heritage et interfaces - primes de risque
09 visual basic .net - exercice - geometrie
07 visual basic .net - exercice - le programme quick note
07 visual basic .net - exercice - le programme anniversaire
07 visual basic .net - etude et mise en oeuvre des fonctionnalites du nouveau...
06 visual basic .net - les structures de donnees, les enumerations de constan...
06 visual basic .net - exercice sur les tableaux
06 visual basic .net - exercice sur les collections
04 visual basic .net - les controles standard - exercice
04 visual basic .net - exploitation des nouveaux controles windows forms et r...
03 visual basic .net - notions de base
02 visual basic .net - introduction a vb .net
01 visual basic .net - presentation du cours

Dernier (20)

PDF
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
PPTX
plus que ´parfait--.-.-.-..-.--.-..-.-.-.-.
PPTX
le subjonctif présent, Conjugaison français
PDF
CLASE 2 TRAIN voacublaire en rancaise.pdf
PPTX
XEROPHTALMIE , SES ETIOLOGIES ET SA PRISE EN CHARGE
DOC
Le verbe avoir- Free francais lesson-free
PPTX
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
PPTX
SESSION3-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PDF
Consignes générales sécurité et environnement.pdf
PPTX
Le rendez-vous de l'été.pptx Film français
PPTX
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
PPTX
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
PDF
CLASE 5 comparatifs en gfrnacaise clase 2
PPTX
Leçon inaugurale2.ministere. enseignant.
PPTX
Devenir Inspecteur HSE _ Chp1_ L1....pptx
PPT
Les moyens de transport-2023.ppt french language teaching ppt
PPTX
Le rendez-vous de l'été.pptx Film français
PPT
Etalonnage de débitmètres.Champ d'application
PPTX
BasicFrench_FINAL23 (1).Niveauxneuf9pptx
PDF
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 🌿 SVT - Extrait
Présentation de jfjjfnflfkfkfkhdbhdhhdhd
plus que ´parfait--.-.-.-..-.--.-..-.-.-.-.
le subjonctif présent, Conjugaison français
CLASE 2 TRAIN voacublaire en rancaise.pdf
XEROPHTALMIE , SES ETIOLOGIES ET SA PRISE EN CHARGE
Le verbe avoir- Free francais lesson-free
Presentation_carte_arduino_uno_1_Entree_Sortie_numerique.pptx
SESSION3-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
Consignes générales sécurité et environnement.pdf
Le rendez-vous de l'été.pptx Film français
Présentation Personal Branding J2025.pptx_20250218_132749_0000.pptx_20250610_...
SESSION1-SUPPORT-DE-COURS-FLEC-(Future leader en énergie au Cameroun)-CECOSDA...
CLASE 5 comparatifs en gfrnacaise clase 2
Leçon inaugurale2.ministere. enseignant.
Devenir Inspecteur HSE _ Chp1_ L1....pptx
Les moyens de transport-2023.ppt french language teaching ppt
Le rendez-vous de l'été.pptx Film français
Etalonnage de débitmètres.Champ d'application
BasicFrench_FINAL23 (1).Niveauxneuf9pptx
Bac 2026 - Livre - 🎤 Le Grand Oral - ✍️ Exemples rédigés - 🌿 SVT - Extrait

08 visual basic .net - debogage et gestion des exceptions

  • 1. Microsoft Visual Basic .NET  Découverte du nouvel environnement Visual Studio .NET  Eléments du langage Visual Basic .NET  Etude et mise en œuvre des fonctionnalités du nouveau Framework .NET  Programmation orientée objet et développement de composants réutilisables  Accès aux données avec ADO .NET Professeur: Hamza SAID 1
  • 2. Etude et mise en œuvre des fonctionnalités du nouveau Framework .NET  Classes de base spécialisées dans le traitement des valeurs numérique, des chaînes de caractères et des dates ainsi que leur formatage  Classes dédiées aux opérations sur les fichiers et les dossiers  Débogage et Gestion des exceptions Professeur: Hamza SAID 2
  • 3. 1. Introduction au débogage 2. Travailler en mode Break 3. Les fenêtres de débogage 4. La notion d'exception Débogage et Gestion des exceptions3 Professeur: Hamza SAID Etude et mise en œuvre des fonctionnalités du nouveau Framework .NET
  • 4. • Visual Studio .NET offre plusieurs outils de débogage qui permettent d'observer et de vérifier le comportement d’une l'application. • Il existe 3 types d’erreur: 1. Les erreurs de syntaxe. 2. Les erreurs d'exécution. 3. Les erreurs de logique. Introduction au débogage4 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 5. Les erreurs de syntaxe • Sont détectées automatiquement • par l'éditeur de Visual Studio. • ou lors de la génération du projet en mode Run. • Sont liées aux types des données, paramètres.... Introduction au débogage5 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 6. Les erreurs d'exécution • Surviennent lorsque l'exécution d'une instruction échoue • Ex.: tentative d'ouverture d'un fichier qui n'existe pas • Provoque l'apparition d'un message et l'arrêt brutal de l'application. • Il faut prévoir une gestion des erreurs d'exécution afin d'éviter l'arrêt de l'application. • À l'aide de l’instruction « Try Catch », on pourra intercepter l'erreur et informer l'utilisateur. Introduction au débogage6 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 7. Les erreurs de logique • Sont plus difficiles à détecter. • Le code est syntaxiquement correct, mais il ne réalise pas les opérations prévues. • C'est là qu'intervient le débogage afin de diagnostiquer l'origine de l'erreur. Introduction au débogage7 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 8. Pour déboguer, il faut lancer l'exécution du programme, puis: • Suspendre l'exécution à certains endroits du code • Voir ce qui se passe puis faire avancer le programme pas à pas. • Afficher des informations de débogage quand le programme tourne. Introduction au débogage8 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 9. Le passage en mode break se fait en appuyant sur le bouton « Interrompre tout » ou en créant un point d’arrêt. On va voir: 1. Comment définir un point d'Arrêt 2. L'instruction « Stop » 3. Les outils de débogage Travailler en mode « Break »9 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 10. • Pour définir un point d'arrêt en mode « Design », il suffit de cliquer dans la bande grise située dans la partie gauche de la fenêtre de code, devant la ligne de l'instruction voulue. • La ligne d'un point d'arrêt est affichée en marron est précédée d'un point de la même couleur • Un point d'Arrêt se retire de la même manière qu'il se définit (cliquez sur le point marron situé en début de ligne) • Les points d'arrêt ne sont pas pris en compte lors de la génération de l'application finale Comment définir un point d'Arrêt10 Professeur: Hamza SAID Travailler en mode « Break »
  • 11. Comment définir un point d'Arrêt11 Professeur: Hamza SAID Démonstration
  • 12. • L'instruction « Stop » permet aussi d'interrompre l'application • Exemple: L'instruction « Stop »12 Professeur: Hamza SAID Travailler en mode « Break » Dim Multiplication(10, 10) As Integer Dim i, j As Integer For i = 1 To 10 For j = 1 To 10 'S'arrêter lorsqu'on calcul un multiple de 5 If i = 5 Or j = 5 Then Stop Multiplication(i, j) = i * j Next Next
  • 13. • Attention : • Cette instruction est prise en compte après compilation. • Il faut la supprimer avant de générer l'application finale. • Ou utiliser une constante nommée « DEBUG » qui aura la valeur « True » si on est en mode « Debug ». L'instruction « Stop »13 Professeur: Hamza SAID Travailler en mode « Break » #If DEBUG Then Stop #End If Ici « Stop » se produira uniquement si on est en mode « Debug ». En mode « Run », il n'y aura pas d'arrêt.
  • 14. • Accessible soit par le menu « Déboguer » soit par la barre d'outils « Standard » • Ils offrent les fonctionnalités suivantes: Les outils de débogage14 Professeur: Hamza SAID Travailler en mode « Break »
  • 15. Les outils de débogage15 Professeur: Hamza SAID Travailler en mode « Break » Bouton Description Lancer/Continuer Lance ou redémarre l'exécution de l'application en mode Run Interrompre tout Passe du mode Run au mode Break Arrêter le débogage Retour au mode Design Pas à pas détaillé Exécute l'instruction suivante. Si l'instruction comporte un appel de procédure, l'exécution se poursuit en mode Break dans la procédure appelée. Pas à pas principal Se comporte comme l'outil "Pas à pas détaillé" tant qu'aucun appel de procédure n'est rencontré. Si l'instruction comporte un appel de procédure, cette dernière sera exécutée normalement comme s'il s'agissait d'une seule instruction. L'exécution se poursuit en mode break. Pas à pas sortant Relance l'exécution du code jusqu'à la fin de la procédure en cours. L'exécution se poursuit en mode break dans la procédure appelante.
  • 16. Les outils de débogage16 Professeur: Hamza SAID Démonstration
  • 17. • Nous permettent de suivre le comportement ainsi que vérifier le contexte d’exécution des applications • Ils sont accessibles à partir de la barre d'outils « Débogage » Les fenêtres de débogage17 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 18. • Raccourcis CTRL + ALT + B • Utilisée pour: • ajouter et modifier les propriétés des points d'arrêts (condition du point d'arrêt ou nombre de passages) grâce au menu contextuel • Désactiver/réactiver des points d'arrêt La fenêtre « Points d'arrêt »18 Professeur: Hamza SAID Les fenêtres de débogage
  • 19. La fenêtre « Points d'arrêt »19 Professeur: Hamza SAID Démonstration
  • 20. • Raccourcis CTRL + ALT + V, A • Affiche les variables utilisées dans l'instruction en cours. La fenêtre « Automatique »20 Professeur: Hamza SAID Les fenêtres de débogage
  • 21. La fenêtre « Automatique »21 Professeur: Hamza SAID Démonstration
  • 22. • Raccourcis CTRL + ALT + V, L • Affiche le contexte d'exécution (l'ensemble des variables locales, arguments et objets) de la procédure en cours. La fenêtre « Variables locales »22 Professeur: Hamza SAID Les fenêtres de débogage
  • 23. La fenêtre « Variables locales »23 Professeur: Hamza SAID Démonstration
  • 24. • Raccourcis CTRL + G • Autorise l'exécution d'une instruction saisie manuellement ou l'évaluation de toute expression valide saisie à la suite d'un point d'interrogation La fenêtre « Immédiat »24 Professeur: Hamza SAID Les fenêtres de débogage
  • 25. La fenêtre « Immédiat »25 Professeur: Hamza SAID Démonstration
  • 26. • Permet d'afficher en permanence l'évolution d'une expression particulière en la définissant en tant qu'espion • L'ajout des espions se fait grâce au menu "DéboguerEspion Express...". La fenêtre Espion s'ouvre par la suite automatiquement. La fenêtre « Espion »26 Professeur: Hamza SAID Les fenêtres de débogage
  • 27. La fenêtre « Espion »27 Professeur: Hamza SAID Démonstration
  • 28. • Pour gérer les erreurs dans les versions précédentes de Visual Basic utilisaient les instructions: • « On Error Resume Next » • et « On Error Goto ». • L'usage du « Goto » est assimilé à une programmation non structurée • Entraîne des Bugs de logique • C++ et Java... disposaient depuis toujours d'une approche structurée basée sur les instructions « Try Catch » et « Finally » La notion d'exception28 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 29. • Les instructions « Try Catch » et « Finally » existent maintenant dans Visual Basic .NET • La nouvelle terminologie pour la gestion des erreurs dans Visual Basic .NET et la gestion des exceptions • Puisqu'une erreur d'exécution se traduit par le fait que le Framework « lève une exception ». La notion d'exception29 Professeur: Hamza SAID Débogage et Gestion des exceptions
  • 30. Quand une exception est levée, en absence de gestionnaire d'exception dans une procédure, • elle est automatiquement retransmise à la prochaine procédure appelante dans la pile des appels. • Si cette procédure possède un gestionnaire, l'exception est alors traitée. • Sinon, elle est de nouveau retransmise à la procédure appelante jusqu'à ce qu'un gestionnaire soit rencontré. • Si aucun gestionnaire n'a pu intercepter l'exception ainsi levée, l'application se terminera brutalement en affichant le message descriptif de l'exception. Transmission des exceptions30 Professeur: Hamza SAID La notion d'exception
  • 31. Soit l'exemple suivant: L'nstruction « Try Catch »31 Professeur: Hamza SAID La notion d'exception Dim sr As New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Si le fichier "C:tempmonfichier.txt" est occupé ou n'existe pas, une exception sera levée (Affichage d'un message d'erreur et arrêt brutal de l'application).
  • 32. Lorsqu'une instruction (ou bloc d'instructions) est susceptible de lever une exception, elle doit être prise en charge dans un bloc Try Catch End Try. L'nstruction « Try Catch »32 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception MsgBox("L'opération a échoué") End Try Maintenant, un message sera affiché au lieu de l'arrêt brutal de l'application Codeà gérer Codeà exécuter aprèsla détection d’uneerreur
  • 33. • Les exceptions sont des objets dérivés de la classe « System.Exception » • Principaux membres de cette classe: La classe « Exception »33 Professeur: Hamza SAID La notion d'exception Membre Description Propriétés HelpLink Lien vers le fichier d'aide associé à l'exception. InnerException Instance de l'objet exceptions qui a provoqué l'exception Message Message descriptif de l'exception Source Nom de l'application ou de l'objet qui est à l'origine de l'erreur StackTrace Représentation sous forme de chaînes de la pile des appels au moment où l'exception en cours a été levée. TargetSite Méthode qui a levé l'exception Méthodes GetBaseException En cas de substitution dans une classe dérivée, retourne l'objet Exception de base.
  • 34. • Dans l'exemple précédent, voici comment afficher la description de l'exception avec la propriété 'Message'. La classe « Exception »34 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception MsgBox(ex.Message) End Try
  • 35. • La classe « Exception » est, en réalité, une classe de base pour les différents types d'exception levée par le Framework • « StackOverFlowException » et « FileNotFoundException » sont un exemple d'exception dérivée de la classe « Exception » • Ces classes filles sont réparties parmi les différents espaces de nom du Framework. • l'exception « DivideByZeroException » par exemple, est levée par la classe principale « System » • l'exception « DirectoryNotFoundException » est levée par la classe « System.IO » Les classes d'exceptions dérivées35 La notion d'exception Professeur: Hamza SAID
  • 36. • On peut affiner les gestionnaires d'exception en alignant successivement plusieurs instructions « Catch ». Chacune d'elles chargée de capturer et de traiter un type d'exception spécifique. Les classes d'exceptions dérivées36 La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As DirectoryNotFoundException MsgBox("Dossier invalide") Catch ex As FileNotFoundException MsgBox("Ouverture du fichier impossible") Catch ex As Exception MsgBox(ex.Message) End Try Professeur: Hamza SAID Cas où le répertoire n’existe pas Cas où le fichier n’existe pas Le reste des erreurs
  • 37. • Un traitement peut avoir consommé des ressources qui doivent être libérées • les instructions chargées d'effectuer les opérations de libération devront prendre place à la suite du mot réservé « Finally » • le bloc « Finally » est toujours exécuté que le traitement se termine normalement ou en levant une exception L'instruction « Finally »37 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader = Nothing Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop Catch ex As DirectoryNotFoundException MsgBox("Dossier invalide") Catch ex As FileNotFoundException MsgBox("Ouverture du fichier impossible") Catch ex As Exception MsgBox(ex.Message) Finally If sr IsNot Nothing Then sr.Close() End If MsgBox("Fin du traitement") End Try
  • 38. • Il permet la transmission d'une exception à la procédure appelante dans le cas d'une chaîne d'appels Le mot clé « Throw »38 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception Throw End Try
  • 39. • Elle permet aussi la personnalisation du message d'exception. Le mot clé « Throw »39 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception Throw New Exception("L'opération a échoué") End Try
  • 40. • La personnalisation du message associé à une exception ne permet plus de connaître la véritable cause de sa levée. • Mais, on peut retransmettre l'objet « Exception » original à la procédure appelante. Le mot clé « Throw »40 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception Throw New Exception("L'opération a échoué", ex) End Try
  • 41. • La personnalisation du message associé à une exception ne permet plus de connaître la véritable cause de sa levée. • Mais, on peut retransmettre l'objet « Exception » original à la procédure appelante. Le mot clé « Throw »41 Professeur: Hamza SAID La notion d'exception Dim sr As StreamReader Try sr = New StreamReader("C:tempmonfichier.txt") Do Until sr.Peek = -1 Debug.WriteLine(sr.Read) Loop sr.Close() Catch ex As Exception Throw New Exception("L'opération a échoué", ex) End Try Dans ce cas, la propriété « InnerException » de la classe « Exception » fournit une référence en lecture seule à l'exception sous-jacente.
  • 42. On a vu : • Comment travailler en mode break • Comment utiliser les points d'arrêt et l'instruction « Stop » • Les outils de débogage • Les fenêtres de débogage (Points d'arrêt, Automatique, Variables locales, Immédiat et Espion) • Comment gérer les exceptions grâce au bloc « Try Catch » En bref42 Professeur: Hamza SAID Débogage et Gestion des exceptions