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

  1. Wählen Sie im Menü Datei die Option Neues Projekt aus. Das Dialogfeld Neues Projekt wird angezeigt.

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

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

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

  1. Fügen Sie dem Kombinationsfeld-Steuerelement bearColor das neue Element "Violett" hinzu.

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

  1. Klicken Sie im Menü Erstellen auf TeddyBearProject erstellen.

  2. Drucken Sie F5, um die Anwendung auszuführen. Das Hauptformular wird angezeigt.

So testen Sie die Anwendung

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

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

  3. Klicken Sie auf OK, um die Meldung abzubrechen.

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

Weitere Ressourcen

Ausnahmebehandlungsaufgaben