Ako používať štruktúrované spracovania výnimiek v jazyku Visual Basic.ČISTÁ alebo v roku 2005 program Visual Basic

Preklady článku Preklady článku
ID článku: 315965 - Zobraziť produkty, ktorých sa tento článok týka.
Rozbaliť všetko | Zbaliť všetko

Na tejto stránke

SUHRN

Tento článok ukazuje, ako využiť štruktúrovaný spracovania výnimiek v jazyku Visual Basic.ČISTÁ alebo v roku 2005 program Visual Basic.

Požiadavky

Nasledujúci zoznam popisuje odporúčané hardvér, softvér, sieťovú infraštruktúru a balíky service pack, ktoré budete potrebovať:
  • Jazyka Visual Basic.ČISTÁ alebo Visual Basic 2005
Tento článok predpokladá, že ste oboznámení s nasledujúce témy:
  • Jazyka Visual Basic.ČISTÁ alebo Visual Basic 2005
  • Microsoft Visual Studio.ČISTÁ alebo Microsoft Visual Studio 2005

Štruktúrované spracovanie výnimiek

Jazyka Visual Basic.ČISTÁ alebo Visual Basic 2005 ponúka štruktúrované výnimkou manipulácie, poskytuje výkonné a čitateľnejšie alternatívne "Na Error Goto" chyby spracovania, ktorá je k dispozícii v predchádzajúcich verziách programu Microsoft Visual Basic. Štruktúrované výnimkou manipulácie je silnejší, pretože umožňuje vnoriť chyba obsluhy vo vnútri iné chyby obsluhy v rámci toho istého postupu. Okrem toho štruktúrované výnimkou manipulácie používa blok syntax podobné Ak...Inde...Koniec ak vyhlásenie. To robí jazyka Visual Basic.NET a Visual Basic 2005 kód čitateľný a ľahšie sa udržiava.

Poznámka: Visual Basic.ČISTÁ alebo Visual Basic 2005 ponecháva "Na Error Goto" syntax pre spätnú kompatibilitu. Naďalej môžete používať túto syntax v jazyku Visual Basic.ČISTÁ alebo Visual Basic 2005 kód. Však nie je možné kombinovať štruktúrované výnimkou manipulácie a Na chybové výpisy v rámci toho istého postupu. Keď budete písať nový kód, spoločnosť Microsoft odporúča, aby ste používali štruktúrovaný spracovanie výnimiek.

Základné syntaxe štruktúrovaných chýb je:
Try
   'Code that may raise an error.
Catch
   'Code to handle the error.
Finally
   'Code to do any final clean up.
End Try
				
Skúste to a Skúste to koniec výkazy sú požadované. Výkazy úlovkov a nakoniec nie sú potrebné, hoci musí obsahovať aspoň jeden z nich v kóde. Môžete tiež určiť viacero výkazy úlovkov , tak, že každý blok úlovok spracuje špecifickej chybe.

Úlovok výnimku

  1. Spustite program Visual Studio.ČISTÁ alebo Visual Studio 2005.
  2. Vytvorte novú konzolovú aplikáciu projektu v programe Visual Basic.ČISTÁ alebo v roku 2005 program Visual Basic.
  3. V Sub hlavnej procedúry, pridajte nasledujúci kód:
    Dim a As Integer = 0
    Dim b As Integer = 0
    Dim c As Integer = 0
    
    Try
      a = b \ c
    Catch exc As Exception
      Console.WriteLine("A run-time error occurred")
    Finally
      Console.ReadLine()
    End Try
    					
  4. V ponuke ladiť kliknutím na tlačidlo spustiť aplikáciu spustiť . Kód sa snaží delenie čísla nulou. Toto je Nepovolená operácia, ktorá spôsobuje delenie nulovej výnimkou. Našťastie bloku chytiť úlovky túto chybu a okna konzoly sa zobrazí nasledujúce chybové hlásenie:
    A run-time error has occurred
    						
  5. Zatvorte okno konzoly.

Úlovok viacero výnimiek

Tento oddiel ukazuje, ako používať viacero výkazy úlovkov zvládnuť rôzne chyby.
  1. Otvorte konzolu aplikácie projektu, ktorý ste vytvorili v predchádzajúcej časti.
  2. V postupe Sub hlavné nahradiť kód, ktorý ste skopírovali v predchádzajúcej časti s nasledujúcim kódom:
    Dim a As Integer = 2147483647
    Dim b As Integer = 0
    Dim c As Integer = 0
    
    Try
      a += 1
    Catch exc As DivideByZeroException
      Console.WriteLine("Error: Divide by zero")
    Catch exc As OverflowException
      Console.WriteLine("Error: Overflow")
    Finally
      Console.ReadLine()
    End Try
    						
    Tento kód obsahuje dva bloky úlovku : jeden chytiť predchádzajúcich delenie nulou, a ten úlovok nové chyby pretečenia.
  3. V ponuke ladiť kliknutím na tlačidlo spustiť aplikáciu spustiť . Okna konzoly sa zobrazí nasledujúce chybové hlásenie:
    Error: Overflow
    						
  4. Zatvorte okno konzoly.
  5. Pretože nie je možné predvídať vždy každej chybe, ktorá sa môže vyskytnúť, môžete pridať blok zachytiť všetky neočakávané výnimky. Napríklad, pridajte nasledujúci kód pred výkaze konečne zachytiť všetky neočakávané chyby a zobrazí vhodné chybové hlásenie:
    Catch exc As Exception
    Console.WriteLine("Error: " & exc.Message)
    					
  6. V ponuke súbor kliknite na položku Zavrieť roztoku.

Hoď výnimku

Štruktúrované výnimkou manipulácie používa výkaz úlovkov chytiť výnimku. Štruktúrované výnimkou manipulácie tiež ponúka spôsob, ako vyhodiť výnimku. Napríklad, je užitočné hádzať výnimku pri vykonaní overenia údajov vo vnútri procedúru Pre vlastnosť nastavená hodnota pretože budete chcieť hádzať chybu, ak došlo k porušeniu pravidlo podnikania.
  1. Spustite program Visual Studio.ČISTÁ alebo Visual Studio 2005.
  2. Vytvorte novú konzolovú aplikáciu projektu v programe Visual Basic.ČISTÁ alebo v roku 2005 program Visual Basic.
  3. V ponuke projekt kliknite na položku Pridať triedy.
  4. V okne Pridať novú položku , zadajte clsPerson.vb v textovom poli názov a potom kliknite na tlačidlo OK.
  5. Pridať nasledujúci kód vo vnútri verejné triedy clsPerson...Koniec triedy vyhlásenia:
    Private mintAge As Integer
    
    Public Property Age() As Integer
      Get
        Age = mintAge
      End Get
      Set(ByVal Value As Integer)
        If Value >= 0 Then
          mintAge = Value
        Else
          Throw New ArgumentException ("Age cannot be negative")
        End If
      End Set
    End Property
    						
    Tento kód sa vytvorí veku majetku. Pretože osoba nemôže mať negatívne veku, chyba je zvýšiť, ak používateľ triedy pokúsi nastavte vek na číslo, ktoré je menšie ako nula.
  6. V Sub hlavnej procedúry Module1.vb, pridajte nasledujúci kód:
    Dim p As New clsPerson()
    
    Try
      p.Age = -1
    Catch exc As Exception
      Console.WriteLine(exc.Message)
    Finally
      Console.ReadLine()
    End Try
    					
  7. V ponuke ladiť kliknutím na tlačidlo spustiť aplikáciu spustiť . Okna konzoly sa zobrazí nasledujúce chybové hlásenie:
    Age cannot be negative
    						
  8. Zatvorte okno konzoly.

Kompletný zoznam kód

Úlovok výnimku

Module Module1

  Sub Main()
    Dim a As Integer = 0
    Dim b As Integer = 0
    Dim c As Integer = 0

    Try
      a = b \ c
    Catch exc As Exception
      Console.WriteLine("A run-time error occurred")
    Finally
      Console.ReadLine()
    End Try

  End Sub

End Module
				

Úlovok viacero výnimiek

Module Module1

  Sub Main()
    Dim a As Integer = 2147483647
    Dim b As Integer = 0
    Dim c As Integer = 0

    Try
      a += 1
    Catch exc As DivideByZeroException
      Console.WriteLine("Error: Divide by zero")
    Catch exc As OverflowException
      Console.WriteLine("Error: Overflow")
    Catch exc As Exception
      Console.WriteLine("Error: " & exc.Message)
    Finally
      Console.ReadLine()
    End Try


  End Sub

End Module
				

Hoď výnimku

Module Module1

  Sub Main()
    Dim p As New clsPerson()

    Try
      p.Age = -1
    Catch exc As Exception
      Console.WriteLine(exc.Message)
    Finally
      Console.ReadLine()
    End Try
  End Sub

End Module

Public Class clsPerson

  Private mintAge As Integer

  Public Property Age() As Integer
    Get
      Age = mintAge
    End Get
    Set(ByVal Value As Integer)
      If Value >= 0 Then
        mintAge = Value
      Else
        Throw New ApplicationException("Age cannot be negative")
      End If
    End Set
  End Property

End Class
				

ODKAZY

Ďalšie informácie nájdete na nasledujúcich webových lokalitách spoločnosti Microsoft:
Chyba Manipulácia VB.NET spôsobom: Život s výnimkami ( Visual Basic vývojár článok)
http://msdn.Microsoft.com/en-us/library/aa227603 (v=vs.60) .aspx

Ako chytiť výnimku
http://msdn.Microsoft.com/en-us/library/ys1b32h3 (v=vs.80) .aspx

Ako Hoď výnimku
http://msdn.Microsoft.com/en-us/library/z7w9ff54 (v=vs.80) .aspx

Vlastnosti

ID článku: 315965 - Posledná kontrola: 15. júna 2012 - Revízia: 1.0
Informácie v tomto článku sa týkajú nasledujúcich produktov:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Kľúčové slová: 
kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315965 KbMtsk
Strojovo preložené
DÔLEŽITÉ: Tento článok bol preložený pomocou softvéru na strojový preklad od spoločnosti Microsoft, nie prekladateľom. Spoločnosť Microsoft ponúka články preložené prekladateľmi aj strojovo preložené články, vďaka čomu máte možnosť prístupu ku všetkým článkom databázy Knowledge Base vo svojom jazyku. Strojovo preložený článok však nie je vždy perfektný. Môže obsahovať chyby týkajúce sa slovnej zásoby, syntaxe alebo gramatiky, podobne ako cudzinec môže robiť chyby, keď rozpráva vašim jazykom. Spoločnosť Microsoft nenesie zodpovednosť za akékoľvek nepresnosti, chyby alebo škody spôsobené akýmkoľvek nepresným prekladom obsahu alebo jeho použitím zo strany zákazníkov. Spoločnosť Microsoft softvér na strojový preklad pravidelne aktualizuje.
Pokiaľ chcete vidieť anglickú verziu článku, kliknite sem: 315965

Odošlite odozvu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com