Partager via


Procédure pas à pas : gestion structurée des exceptions

Mise à jour : novembre 2007

Si vous pouvez toujours employer l'instruction On Error pour traiter des exceptions dans votre code et permettre la gestion non structurée des exceptions, Visual Basic 2005 prend également en charge la gestion structurée des exceptions, ce qui vous permet de créer et de 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 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.

Remarque :

Vous ne pouvez pas combiner à la fois la gestion structurée et non structurée des exceptions dans une seule procédure.

Remarque :

Les boîtes de dialogue et les commandes de menu que vous voyez peuvent différer de celles qui sont décrites dans l'aide selon vos paramètres actifs ou votre édition. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. 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

  1. Dans le menu Fichier, choisissez Nouveau projet. La boîte de dialogue Nouveau projet s'affiche.

  2. 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.

  3. 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.

  4. 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

    Zone de texte

    Nom

    Texte

    customerName

    Nom du client

    Étiquette

    Nom

    Texte

    bearColorLabel

    Couleurs disponibles

    Liste déroulante

    Nom

    Éléments

    Texte

    bearColor

    Noir, brun, tacheté

    Couleur de l'ours

    Étiquette

    Nom

    Texte

    bearSizeLabel

    Tailles disponibles

    Liste déroulante

    Nom

    Éléments

    Texte

    bearSize

    Petit, normal, grand

    Taille

    Bouton

    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) 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

  1. Ajoutez un nouvel élément (« Violet ») au contrôle ComboBox bearColor.

  2. 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

  1. Dans le menu Générer, sélectionnez Générer TeddyBearProject.

  2. Appuyez sur F5 pour exécuter l'application. Le formulaire principal s'affiche.

Pour tester l'application

  1. 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.

  2. 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.

  3. Cliquez sur OK pour fermer le message.

  4. 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

Concepts

Vue d'ensemble de la gestion structurée des exceptions pour Visual Basic

Référence

On Error, instruction (Visual Basic)

Try...Catch...Finally, instruction (Visual Basic)

Throw, instruction (Visual Basic)

Autres ressources

Tâches de gestion des exceptions