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
V nabídce Soubor klikněte na příkaz Nový projekt. Zobrazí se dialogové okno Nový projekt.
V okně Typy projekt vyberte Visual Basic a Windows pokud již není vybráno, vyberte aplikace pro systém Windows z Šablony.
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.
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
Přidání nové položka, "Fialová" k ovládacímu prvku ComboBox bearColor.
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
Z nabídky Sestavení vyberte Vytváření TeddyBearProject.
Stisknutím klávesy F5 spustíte aplikaci. Zobrazí se hlavní formulář.
Testování aplikace
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.
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.
Klikněte na tlačítko Ok ke zrušení zprávy.
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