Sdílet prostřednictvím


Podrobné pokyny: Structured Exception zpracování (Visual Basic)

Zatímco je stále možné použít příkaz On Error k zpracování výjimek v kódu za účelem zajištění nestrukturovaného zpracování výjimek, Visual Basic 2005 podporuje také strukturované zpracování výjimek, které lze použít k vytvoření a správě programů s komplexním zpracováním chyb. V strukturovaném zpracování výjimka, bloky kódu testují na zvláštní okolnosti a odpovídajícím způsobem na ně reagují.

Tento návod ukazuje, jak přidat strukturované zpracování výjimek do programu. Konkrétně ukazuje, jak používat příkazy Try...Catch...Finally ke zpracování výjimek a jak provést filtrování v rámci bloků Catch.

Poznámka

Nelze kombinovat strukturovaná i nestrukturovaná zpracování výjimek v rámci jedné procedury.

Poznámka

Ve vašem počítači se pro některé z prvků uživatelského rozhraní aplikace Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedena v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Visual Studio, nastavení.

Vytvoření aplikace

Následující aplikace je zákaznický objednávkový formulář pro společnost, která prodává plyšové medvídky. Uživatelské rozhraní se skládá z následujících prvků:

  • Jeden TextBoxpro název zákazníka.

  • Dva ComboBox ovládací prvky k výběru požadované barvu a změně velikost medvídka.

  • Jedno Order Button.

  • Tři štítky vysvětlující účel každého z ovládacích prvků uživateli.

  • Když uživatel zadá požadované informace a klikne na tlačítko Order, aplikace zobrazí souhrn objednávky.

Vytvoření aplikace

  1. V nabídce Soubor klikněte na příkaz Nový projekt. Zobrazí se dialogové okno Nový projekt.

  2. V okně Typy projekt vyberte Visual Basic a Windows pokud již není vybráno, vyberte aplikace pro systém Windows z Šablony.

  3. V okně Vlastnosti pod Název, vložte TeddyBearProject a klikněte na tlačítkoOK. Projekt je přidán do průzkumníku řešení a otevře se návrhář pro model Windows Forms.

  4. Přidejte ovládací prvky do formuláře a nastavte jejich vlastnosti na stanovené hodnoty.

    Control

    Vlastnosti

    Hodnoty vlastnosti

    Popisek

    Název

    Text

    customerLabel

    Bear Order Form

    TextBox

    Název

    Text

    customerName

    Customer Name

    Popisek

    Název

    Text

    bearColorLabel

    Available Colors

    ComboBox

    Název

    Položky

    Text

    bearColor

    Černá, Hnědá, Tečkovaná

    Bear Color

    Popisek

    Název

    Text

    bearSizeLabel

    Available Sizes

    ComboBox

    Název

    Položky

    Text

    bearSize

    Malé, Normální, Velké

    Velikost

    Tlačítko

    Název

    Text

    objednávka

    Pořadí

Přidání funkcionality

Nyní když jsou ovládací prvky a jejich vlastnosti jsou přidány a nastaveny, je nutné umístit kód tak, aby byly funkční. Následující kód zpracovává události Click pro tlačítko Order a zobrazí zprávu zákazníkovi.

K přidání funkcí formuláři a jeho ovládacím prvkům

  • Přidejte následující kód k události Clicktlačítka Order.

    Dim bearOrder As String
    bearOrder =
      String.Format("You have ordered a {0} {1} bear.",
      bearSize.SelectedItem, bearColor.SelectedItem)
    MsgBox(bearOrder)
    

Aplikace je nyní připravena k přidání kódu pro strukturované zpracování výjimek.

Přidání bloku Try...Catch

Chcete-li zajistit, že zákazník určil barvu medvěda, přidejte příkaz Try...Catch. Mějte na paměti následující:

  • Klauzule Catch s žádný identifikátorem zachytí všechny výjimky.

  • Klauzule Catch s klauzulí When zachytí výjimky, pouze pokud je výsledkem výraz hodnota True; výraz musí být možné převést na typ Boolean.

Přidání jednoduchého bloku Try...Catch

  • Přidejte následující kód k události Click tlačítka Order za sekci, která testuje hodnoty velikosti a barvy, tedy po String.Format ("You have ordered a {0} {1} bear.", BearSize.SelectedItem, BearColor.SelectedItem). Tento kód vyvolá výjimku v případě nalezení neplatné hodnoty barvy. Při přidávání příkazu Try si uvědomte, že editor si automaticky přidá příkaz End Try na konec příkazu.

    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
    

Chcete-li přidat další Catch klauzule

  1. Přidání nové položka, "Fialová" k ovládacímu prvku ComboBox bearColor.

  2. Přidejte následující kód po řádce kódu 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.")
    

Můžete přidat tolik Catch klauzulí kolik je potřeba.

Testování

Nyní můžete otestovat aplikace a zkontrolovat zda funguje správně.

K vytvoření a spuštění aplikace

  1. Z nabídky Sestavení vyberte Vytváření TeddyBearProject.

  2. Stisknutím klávesy F5 spustíte aplikaci. Zobrazí se hlavní formulář.

Testování aplikace

  1. Zadejte název do textového pole Customer Name a potom vyberte barvu a velikost medvídka v polích se sezname Available Colors a Available Sizes.

  2. Klikněte na tlačítko Order. Pokud jste vybrali buď černá, hnědá nebo tečkovaná jako barvu v předchozím kroku, zobrazí se zpráva oznamující velikost a barvu objednaného medvídka.

    Pokud nezadáte barvu, zobrazí se zpráva s výzvou pobízející vás k tomu.

  3. Klikněte na tlačítko Ok ke zrušení zprávy.

  4. V textovém poli Available Colors vyberte Nachová a potom klikněte na tlačítko Order. Zobrazí se zpráva, že purpurové medvídci nejsou k dispozici.

Viz také

Odkaz

On Error Statement (Visual Basic)

Try...Catch...Finally Statement (Visual Basic)

Throw Statement (Visual Basic)

Koncepty

Přehled strukturovaného zpracování výjimek pro jazyk Visual Basic

Další zdroje

Úkoly (Visual Basic) zpracování výjimek