Procédure pas à pas : gestion structurée des exceptions dans les projets smart device Visual Basic
Même si vous pouvez toujours utiliser l'instruction On Error pour gérer les exceptions de votre code, Visual Basic .NET prend également en charge la gestion structurée des exceptions, qui vous permet de créer et gérer des programmes avec une gestion d'erreurs complète. 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 comment utiliser l'instruction Try...Catch...Finally pour gérer les exceptions et comment effectuer le filtrage des erreurs dans les blocs Catch.
Remarque Vous ne pouvez pas combiner à la fois la gestion structurée et non structurée des exceptions dans une seule procédure.
Cette procédure pas à pas se compose de quatre tâches principales :
- Création d'un projet smart device qui utilise les Windows Forms
- Ajout de fonctionnalités à l'application
- Ajout d'un bloc Try...Catch pour la gestion des erreurs
- Test de la gestion des erreurs
Choix d'un périphérique cible
La procédure suivante permet d'afficher un message vous invitant à sélectionner un périphérique lorsque vous déployez une solution.
Pour être invité à sélectionner le périphérique cible au moment du déploiement
- Dans le menu Outils, cliquez sur Options, puis sur Outils de périphérique.
- Activez la case à cocher Afficher les choix de périphériques avant de déployer un projet smart device.
Création de l'application
L'application de cette procédure pas à pas est un extrait d'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 : deux contrôles ComboBox pour sélectionner la couleur et la taille de l'ours et un bouton Commander. 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 Windows Forms pour cette procédure pas à pas
- Dans le menu Fichier de Visual Studio .NET, pointez sur Nouveau, puis cliquez sur Projet.
- Dans la boîte de dialogue Nouveau projet, sous Types de projets, cliquez sur Projets Visual Basic.
- Dans la zone Nom, tapez TeddyBearProject.
- Sous Modèles, double-cliquez sur Application Smart Device.
- Dans l'Assistant Application Smart Device, cliquez dans le volet supérieur sur Windows CE et dans le volet inférieur sur Application Windows.
- À partir de la Boîte à outils, ajoutez les contrôles du tableau suivant et définissez leurs propriétés comme indiqué.
Contrôle Propriétés Valeurs de la propriété Label Name
TextbearColorLabel
Couleurs disponiblesComboBox Name
Items
TextBearColor
Noir, Brun, Tacheté
Couleur de l'oursLabel Name
TextbearSizeLabel
Tailles disponiblesComboBox Name
Items
TextBearSize
Petit, Normal, Grand
Taille de l'oursButton Name
TextOrder
Commander
Ajout de fonctionnalités
Après avoir ajouté et défini les contrôles et leurs propriétés, vous allez maintenant insérer du code derrière eux pour que l'application fonctionne. Le code suivant traite l'événement Click du bouton Commander et affiche un message pour le client.
Pour ajouter des fonctionnalités au formulaire et à ses contrôles
Double-cliquez sur le bouton du formulaire pour ouvrir l'éditeur de code avec le curseur placé dans le gestionnaire d'événements Order_Click. Ajoutez le code suivant au gestionnaire :
Dim bearOrder As String bearOrder = _ String.Format("You have ordered a {0} {1} bear.", _ bearSize.SelectedItem, bearColor.SelectedItem) MessageBox.Show(bearOrder)
Vous pouvez désormais ajouter un code de gestion structurée des exceptions à l'application.
Dans le menu Fichier, cliquez sur Enregistrer tout.
Ajout d'un bloc Try...Catch
Pour vous assurer que le client a indiqué une couleur pour l'ours, ajoutez une instruction Try...Catch. Ne perdez pas de vue les points suivants :
- 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 l'instruction Try à l'événement Click du bouton Commander après la ligne de code
Dim bearOrder As String
:Try
Remarque Si vous appuyez sur ENTRÉE après avoir tapé Try, l'éditeur de code de Visual Basic .NET essaie de compléter la structure en ajoutant End Try. Si tel est le cas, supprimez les instructions Catch ou End Try superflues.
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.If ((BearColor.SelectedIndex < 0) or _ (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
Dans le Concepteur Windows Forms, ajoutez un nouvel élément (« Violet »), au contrôle ComboBox
BearColor
.Dans l'éditeur de code, 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.
Dans le menu Fichier, cliquez sur Enregistrer tout.
Génération et test
Vous pouvez à présent tester l'application afin de vous assurer qu'elle fonctionne correctement. Si le client clique sur le bouton Commander sans avoir sélectionné de couleur, la première clause Catch affiche le message « You must select a bear color! ». Si le client clique sur le bouton Commander après avoir sélectionné la couleur violet, la seconde clause Catch affiche le message « There are no bears of that color! ».
Cette procédure pas à pas ne contient pas de clause Catch pour le cas où la taille de l'ours n'est pas spécifiée. Vous pouvez ajouter à cet effet votre propre clause Catch (en prenant comme modèle la clause qui gère l'absence de sélection de couleur).
Pour générer et exécuter l'application
Dans le menu Déboguer, cliquez sur Démarrer.
Dans la boîte de dialogue Déployer, sélectionnez Émulateur Windows CE .NET, puis cliquez sur Déployer.
Remarque La boîte de dialogue Déployer ne s'ouvre pas si vous avez déjà sélectionné un périphérique cible et désactivé la case à cocher Afficher cette boîte de dialogue à chaque déploiement de l'application. La case à cocher Afficher cette boite de dialogue à chaque déploiement de l’application doit être activée pour cette procédure pas à pas.
Le projet sera téléchargé vers l'émulateur et lancé.
Pour tester l'application
Dans l'émulateur, sélectionnez une couleur et une taille d'ours dans les zones de liste déroulantes Couleurs disponibles et Tailles disponibles.
Cliquez sur le bouton Commander.
Si vous avez spécifié 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 Couleurs disponibles, sélectionnez Violet, puis cliquez sur le bouton Commander.
Un message apparaît indiquant que les ours violets ne sont pas disponibles.
Voir aussi
Procédure pas à pas : gestion structurée des exceptions | On Error, instruction | Try...Catch...Finally, instructions | Gestion structurée des exceptions | Throw, instruction | Levée d'exceptions à partir des composants | Procédures pas à pas relatives aux projets smart device