Exemplarische Vorgehensweise: Strukturierte Ausnahmebehandlung
Aktualisiert: November 2007
Sie können weiterhin die On Error-Anweisung zur unstrukturierten Behandlung von Ausnahmen im Code verwenden. Darüber hinaus unterstützt Visual Basic 2005 allerdings auch die strukturierte Ausnahmebehandlung, mit der sich Programme mit umfassender Fehlerbehandlung erstellen und verwalten lassen. Bei der strukturierten Ausnahmebehandlung überprüfen Codeblöcke bestimmte Bedingungen und führen entsprechende Aktionen aus.
Diese exemplarische Vorgehensweise veranschaulicht, wie Sie einem Programm strukturierte Ausnahmebehandlung hinzufügen. Insbesondere wird gezeigt, wie Ausnahmen mit der Try...Catch...Finally-Anweisung behandelt werden und wie innerhalb von Catch-Blöcken eine Fehlerfilterung durchgeführt wird.
Hinweis: |
---|
Sie können die strukturierte und die unstrukturierte Ausnahmebehandlung nicht in einer Prozedur kombinieren. |
Hinweis: |
---|
Je nach den aktiven Einstellungen oder der verwendeten Version, können die angezeigten Dialogfelder und Menübefehle von den in der Hilfe beschriebenen abweichen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
Erstellen der Anwendung
Bei der folgenden Anwendung handelt es sich um ein Kundenbestellformular für ein Unternehmen, das Teddybären verkauft. Die Benutzeroberfläche umfasst folgende Steuerelemente:
Eine TextBox-Klasse für den Namen des Kunden.
Zwei ComboBox-Steuerelemente zur Auswahl der Farbe und Größe des Bären.
Eine Schaltfläche Bestellen (Button).
Drei Beschriftungen, die den Benutzer über den Zweck der einzelnen Steuerelemente informieren.
Wenn der Benutzer die erforderlichen Informationen eingibt und auf die Schaltfläche Bestellen klickt, zeigt die Anwendung eine Zusammenfassung der Bestellung an.
So erstellen Sie die Anwendung
Wählen Sie im Menü Datei die Option Neues Projekt aus. Das Dialogfeld Neues Projekt wird angezeigt.
Wählen Sie im Fenster Projekttypen die Optionen Visual Basic und Windows aus. Falls diese noch nicht ausgewählt sind, wählen Sie im Fenster Vorlagen die Option Windows-Anwendung aus.
Geben Sie im Eigenschaftenfenster unter Name den Text TeddyBearProject ein, und klicken Sie auf OK. Das Projekt wird zum Projektmappen-Explorer hinzugefügt, und der Windows Forms-Designer wird geöffnet.
Fügen Sie die Steuerelemente zum Formular hinzu, und legen Sie ihre Eigenschaften wie angegeben fest.
Steuerelement
Eigenschaften
Eigenschaftenwerte
Bezeichnung
Name
Text
customerLabel
Bärenbestellformular
TextBox
Name
Text
customerName
Kundenname
Bezeichnung
Name
Text
bearColorLabel
Verfügbare Farben
ComboBox
Name
Elemente
Text
bearColor
Schwarz, braun, gefleckt
Bärenfarbe
Bezeichnung
Name
Text
bearSizeLabel
Verfügbare Größen
ComboBox
Name
Elemente
Text
bearSize
Klein, Normal, Groß
Größe
Schaltfläche
Name
Text
order
Bestellung
Hinzufügen von Funktionalität
Nachdem Sie die Steuerelemente hinzugefügt und deren Eigenschaften festgelegt haben, müssen Sie den entsprechenden Code eingeben. Der folgende Code behandelt das Click-Ereignis für die Schaltfläche Bestellen und zeigt dem Kunden eine Meldung an.
So fügen Sie dem Formular und seinen Steuerelementen Funktionen hinzu
Fügen Sie dem Click-Ereignis der Schaltfläche Bestellen folgenden Code hinzu.
Dim bearOrder As String bearOrder = _ String.Format("You have ordered a {0} {1} bear.", _ bearSize.SelectedItem, bearColor.SelectedItem) MsgBox(bearOrder)
Die Anwendung ist nun bereit, um den Code für die strukturierte Ausnahmebehandlung hinzuzufügen.
Hinzufügen eines Try...Catch-Blocks
Fügen Sie eine Try...Catch-Anweisung ein, um sicherzustellen, dass der Kunde die Farbe des Bären angibt. Beachten Sie Folgendes:
Eine Catch-Klausel ohne Bezeichner fängt alle Ausnahmen ab.
Eine Catch-Klausel mit einer When-Klausel fängt Ausnahmen nur dann ab, wenn der Ausdruck True ergibt. Der Ausdruckstyp muss implizit in Boolean konvertiert werden können.
So fügen Sie einen einfachen Try...Catch-Block hinzu
Fügen Sie nach dem Abschnitt, mit dem die Größen- und Farbwerte getestet werden, also nach String.Format ("You have ordered a {0} {1} bear.", BearSize.SelectedItem, BearColor.SelectedItem), den folgenden Code zum Click-Ereignis der Schaltfläche Bestellen hinzu. Dieser Code löst eine Ausnahme aus, wenn er einen ungültigen Farbwert findet. Wenn Sie Try-Anweisungen hinzufügen, sehen Sie, dass der Editor am Ende der Anweisung automatisch End Try einfügt.
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
So fügen Sie eine zusätzliche Catch-Klausel ein
Fügen Sie dem Kombinationsfeld-Steuerelement bearColor das neue Element "Violett" hinzu.
Fügen Sie nach der Codezeile bearOrder = String.Format("You must select a bear color!") folgenden Code hinzu.
Catch ex As Exception When bearColor.SelectedIndex = 3 bearOrder = String.Format("There are no bears of that color.")
Sie können dem Code so viele Catch-Klauseln hinzufügen, wie erforderlich sind.
Testen
Jetzt können Sie die Anwendung testen, um sicherzustellen, dass sie ordnungsgemäß funktioniert.
So erstellen Sie die Anwendung und führen sie aus
Klicken Sie im Menü Erstellen auf TeddyBearProject erstellen.
Drucken Sie F5, um die Anwendung auszuführen. Das Hauptformular wird angezeigt.
So testen Sie die Anwendung
Geben Sie im Textfeld Kundenname einen Namen ein, und wählen Sie dann in den Kombinationsfeldern Erhältliche Farben und Erhältliche Größen die Farbe und die Größe des Bären aus.
Klicken Sie auf die Schaltfläche Bestellen. Wenn Sie im vorherigen Schritt die Farbe Schwarz, Braun oder Gefleckt ausgewählt haben, wird eine Meldung mit der Angabe der Größe und der Farbe des von Ihnen bestellten Bären angezeigt.
Wenn Sie keine Farbe angeben, werden Sie in einer Meldung dazu aufgefordert.
Klicken Sie auf OK, um die Meldung abzubrechen.
Wählen Sie im Textfeld Erhältliche Farben den Eintrag Purple aus, und klicken Sie dann auf die Schaltfläche Bestellen. Es wird die Meldung angezeigt, dass keine violetten Bären zur Verfügung stehen.
Siehe auch
Konzepte
Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic
Referenz
On Error-Anweisung (Visual Basic)
Try...Catch...Finally-Anweisung (Visual Basic)
Throw-Anweisung (Visual Basic)