Procédure pas à pas : gestion structurée des exceptions (Visual Basic)
Bien que vous puissiez toujours employer l'instruction On Error pour traiter les exceptions dans votre code dans le cadre de la gestion non structurée des exceptions, Visual Basic 2005 prend également en charge la gestion structurée des exceptions qui permet de créer et gérer des programmes avec un mécanisme complet de traitement des erreurs. Dans la gestion structurée des exceptions, des blocs de code testent des situations spécifiques et réagissent en conséquence.
Cette procédure pas à pas montre comment ajouter une gestion structurée des exceptions à un programme. Elle explique en particulier comment utiliser l'instruction Try...Catch...Finally pour gérer les exceptions et comment effectuer le filtrage des erreurs dans les blocs Catch.
Notes
Vous ne pouvez pas combiner à la fois la gestion structurée et non structurée des exceptions dans une seule procédure.
Notes
Il est possible que votre ordinateur affiche des noms ou des emplacements différents pour certains des éléments d'interface utilisateur de Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.
Création de l'application
L'application suivante est un formulaire de commande d'un client pour une société qui vend des ours en peluche. L'interface utilisateur se compose des contrôles suivants :
Un contrôle TextBox pour le nom du client.
Deux contrôles ComboBox pour sélectionner la couleur et la taille de l'ours.
Un bouton de commande Button.
Trois étiquettes qui expliquent la signification de chaque contrôle à l'utilisateur.
Lorsque l'utilisateur entre les informations demandées, puis clique sur le bouton Commander, l'application affiche un résumé de la commande.
Pour créer l'application
Dans le menu Fichier, choisissez Nouveau projet. La boîte de dialogue Nouveau projet s'affiche.
Dans la fenêtre Types de projets, sélectionnez Visual Basic et Windows si ce n'est déjà fait, sélectionnez Application Windows dans la fenêtre Modèles.
Dans la fenêtre Propriétés sous Nom, entrez TeddyBearProject, puis cliquez sur OK. Le projet est ajouté à l'Explorateur de solutions et le Concepteur Windows Forms s'ouvre.
Ajoutez les contrôles au formulaire et définissez leurs propriétés comme spécifié.
Contrôle
Propriétés
Valeurs de la propriété
Étiquette
Nom
Texte
customerLabel
Formulaire Commande Ours
TextBox
Nom
Texte
customerName
Nom du client
Étiquette
Nom
Texte
bearColorLabel
Couleurs disponibles
ComboBox
Nom
Items
Texte
bearColor
Noir, brun, tacheté
Couleur de l'ours
Étiquette
Nom
Texte
bearSizeLabel
Tailles disponibles
ComboBox
Nom
Items
Texte
bearSize
Petit, normal, grand
Taille
Button
Nom
Texte
order
Commande
Ajout de fonctionnalités
Maintenant que les contrôles et leurs propriétés sont ajoutés et définis, vous devez insérer du code derrière pour qu'ils fonctionnent. Le code suivant traite l'événement Click pour le bouton Commander et affiche un message pour le client.
Pour ajouter des fonctionnalités au formulaire et à ses contrôles
Ajoutez le code suivant à l'événement Click du bouton Commander.
Dim bearOrder As String bearOrder = String.Format("You have ordered a {0} {1} bear.", bearSize.SelectedItem, bearColor.SelectedItem) MsgBox(bearOrder)
Vous pouvez désormais ajouter un code de gestion structurée des exceptions à l'application.
Ajout d'un bloc Try...Catch
Pour vous assurer que le client a indiqué une couleur pour l'ours, ajoutez une instruction Try...Catch. N'oubliez pas :
Une clause Catch sans identificateur intercepte toutes les exceptions.
Une clause Catch avec une clause When n'intercepte les exceptions que lorsque l'expression correspond à la valeur True ; le type de l'expression doit être implicitement convertible en type Boolean.
Pour ajouter un bloc Try...Catch simple
Ajoutez le code suivant à l'événement Click du bouton Commander après la section qui teste les valeurs de couleur et de taille, c'est-à-dire après String.Format ("You have ordered a {0} {1} bear.", BearSize.SelectedItem, BearColor.SelectedItem). Ce code lève une exception si une valeur de couleur non valide est trouvée. Lors de l'ajout des instructions Try, notez que l'éditeur fournit automatiquement End Try à la fin de l'instruction.
Try If bearColor.SelectedIndex < 0 OrElse bearColor.SelectedIndex > 2 Then Throw New System.Exception() End If ' The Catch statement handles errors caused by a lack of bear color. Catch ex As Exception When bearColor.SelectedIndex < 0 bearOrder = String.Format("You must select a bear color!") Finally Beep() ' Beep at the end. End Try
Pour ajouter une autre clause Catch
Ajoutez un nouvel élément (« Violet ») au contrôle ComboBox bearColor.
Ajoutez le code suivant après la ligne de code bearOrder = String.Format("You must select a bear color!").
Catch ex As Exception When bearColor.SelectedIndex = 3 bearOrder = String.Format("There are no bears of that color.")
Vous pouvez ajouter autant de clauses Catch que nécessaire à votre code.
Test
Vous pouvez à présent tester l'application afin de vous assurer qu'elle fonctionne correctement.
Pour générer et exécuter l'application
Dans le menu Générer, sélectionnez Générer TeddyBearProject.
Appuyez sur F5 pour exécuter l'application. Le formulaire principal s'affiche.
Pour tester l'application
Entrez un nom dans la zone de texte Nom du client, puis sélectionnez la couleur et la taille de l'ours dans les listes déroulantes Couleurs disponibles et Tailles disponibles.
Cliquez sur le bouton Ordre. Si vous avez sélectionné la couleur Noir, Brun ou Tacheté à l'étape précédente, un message apparaît indiquant la taille et la couleur de l'ours que vous avez commandé.
Si vous n'avez pas spécifié de couleur, un message vous invite à en sélectionner une.
Cliquez sur OK pour fermer le message.
Dans la zone de texte Couleurs disponibles, sélectionnez Violet, puis cliquez sur le bouton Ordre. Un message apparaît indiquant que les ours violets ne sont pas disponibles.
Voir aussi
Référence
On Error, instruction (Visual Basic)
Try...Catch...Finally, instruction (Visual Basic)
Throw, instruction (Visual Basic)
Concepts
Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic