Momentan sunteți offline, așteptați să vă reconectați la internet

Cum se utilizează excepţie structurate de manipulare în Visual Basic.NET sau în Visual Basic 2005

IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât şi articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuşi, un articol tradus automat nu este întotdeauna perfect. Acesta poate conţine greşeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greşeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conţinutului sau de utilizarea traducerii necorespunzătoare de către clienţii nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 315965
REZUMAT
Prezentul articol demonstrează cum se utilizează excepţie structurate de manipulare în Visual Basic.NET sau în Visual Basic 2005.

back to the top

Cerințele

Listă tabel următoare evidenţiază hardware recomandate, software-ul, infrastructura rețelei, și pachete de consolidare servicii care aveţi nevoie:
  • Visual Basic.NET sau Visual Basic 2005
Acest articol presupune că sunteţi familiarizaţi cu următoarele subiecte:
  • Visual Basic.NET sau Visual Basic 2005
  • Microsoft Visual Studio .NET sau Microsoft Visual Studio 2005
back to the top

Structurat excepţie manipulare

Visual Basic.NET sau Visual Basic 2005 oferă excepţie structurate de manipulare care oferă o alternativă puternic, mai uşor de citit pentru manipularea eroare "On Error Goto", care este disponibilă în versiunile anterioare de Microsoft Visual Basic. Excepţie structurate de manipulare este mai puternic pentru că vă permite să imbricaţi gestionari de eroare în interiorul altor gestionari de eroare în cadrul aceleiași proceduri. În plus, excepţie structurate manipularea utilizează o sintaxă bloc similar la dacă...Altceva...Sfârşitul dacă declaraţie. Acest lucru face Visual Basic.NET şi Visual Basic 2005 cod mai uşor de citit şi mai uşor pentru a menţine.

Notă: Visual Basic.NET sau Visual Basic 2005 păstrează sintaxa "On Error Goto" pentru compatibilitate reface programul sursă. Se poate utiliza această sintaxă în Visual Basic.Codul NET sau Visual Basic 2005. Cu toate acestea, vă pot combina manipularea excepţie structurate şi declaraţii Pe eroare în aceeași procedură. Când scrieţi noul cod, Microsoft recomandă să utilizaţi structurat manipularea de excepţie.

Sintaxa bază de eroare structurate manipulare este după cum urmează:
Try   'Code that may raise an error.Catch   'Code to handle the error.Finally   'Code to do any final clean up.End Try				
Încercaţi şi Sfârşitul încercaţi declaraţiile sunt necesare. Declaraţiile de captură şi în cele din urmă nu sunt necesare, deşi trebuie să includeţi cel puţin unul dintre ei în codul dumneavoastră. Se poate specifica, de asemenea, mai multe declaraţii de captură , astfel încât fiecare bloc Catch tratează o eroare specifice.

back to the top

Prinde o excepţie

  1. Start Visual Studio .NET sau Visual Studio 2005.
  2. Creaţi un nou proiect de consola de aplicaţii în Visual Basic.NET sau în Visual Basic 2005.
  3. În procedura de Sub principal , adăugaţi următorul cod:
    Dim a As Integer = 0Dim b As Integer = 0Dim c As Integer = 0Try  a = b \ cCatch exc As Exception  Console.WriteLine("A run-time error occurred")Finally  Console.ReadLine()End Try					
  4. Din meniul depanare , faceţi clic pe Start pentru a executa cererea. Codul încearcă să împartă un număr de zero. Aceasta este o operațiune ilegală care cauzează o divizare prin excepţie de zero. Din fericire, bloc Catch capturile această eroare, şi fereastra consolei afişează următorul mesaj de eroare:
    A run-time error has occurred						
  5. Închideţi fereastra consolei.
back to the top

Prinde mai multe excepții

Această secţiune demonstrează cum se utilizează mai multe declaraţii de captură să se ocupe de diferite erori.
  1. Deschide proiectul Consola de aplicaţii, care l-aţi creat în secţiunea precedentă.
  2. În procedura Principală Sub , înlocuiţi codul care le-aţi copiat în secţiunea anterioară cu următorul cod:
    Dim a As Integer = 2147483647Dim b As Integer = 0Dim c As Integer = 0Try  a += 1Catch exc As DivideByZeroException  Console.WriteLine("Error: Divide by zero")Catch exc As OverflowException  Console.WriteLine("Error: Overflow")Finally  Console.ReadLine()End Try						
    Acest cod include două blocuri de captură : unul pentru a prinde decalajului anterioare de eroare zero, şi unul pentru a prinde eroarea overflow noi.
  3. Din meniul depanare , faceţi clic pe Start pentru a executa cererea. Fereastra consolei afişează următorul mesaj de eroare:
    Error: Overflow						
  4. Închideţi fereastra consolei.
  5. Deoarece nu anticipaţi întotdeauna fiecare eroare care se pot produce, puteţi adăuga un bloc Catch toate excepţii neprevăzute. De exemplu, adăugaţi următorul cod înainte de declarația în cele din urmă pentru a prinde orice erori neprevăzute şi afişa mesajul de eroare corespunzătoare:
    Catch exc As ExceptionConsole.WriteLine("Error: " & exc.Message)					
  6. Din meniul Fişier , faceţi clic pe Soluţia strânsă.
back to the top

Arunca excepţie

Excepţie structurate manipularea utilizează instrucţiunea prinde pentru a prinde o excepţie. Excepţie structurate de manipulare, de asemenea, oferă o modalitate de a arunca o excepţie. De exemplu, este util pentru a arunca o excepţie atunci când efectuaţi validare acoperire de date în interiorul unei proceduri de Proprietate setată pentru că poate doriţi să arunce o eroare dacă o regulă de afaceri este încălcat.
  1. Start Visual Studio .NET sau Visual Studio 2005.
  2. Creaţi un nou proiect de consola de aplicaţii în Visual Basic.NET sau în Visual Basic 2005.
  3. Din meniul proiect , faceţi clic pe Adăugaţi clasa.
  4. În fereastra Adăugare element nou , tastaţi clsPerson.vb în caseta de text Nume şi apoi faceţi clic pe OK.
  5. Adăugaţi următorul cod în interiorul clsPerson clasa publica...Sfârşitul clasa instrucţiuni:
    Private mintAge As IntegerPublic 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 SetEnd Property						
    Acest cod creează o proprietate de vârstă . Pentru că o persoană nu poate avea o vârstă negative, o eroare este crescut în cazul în care utilizatorul de clasa încearcă să setaţi vârsta la un număr care este mai mică decât zero.
  6. În procedura Principală Sub Module1.vb, adăugaţi următorul cod:
    Dim p As New clsPerson()Try  p.Age = -1Catch exc As Exception  Console.WriteLine(exc.Message)Finally  Console.ReadLine()End Try					
  7. Din meniul depanare , faceţi clic pe Start pentru a executa cererea. Fereastra consolei afişează următorul mesaj de eroare:
    Age cannot be negative						
  8. Închideţi fereastra consolei.
back to the top

Listă completă de cod

Prinde o excepţie

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 SubEnd Module				
back to the top

Prinde mai multe excepții

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 SubEnd Module				
back to the top

Arunca excepţie

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 SubEnd ModulePublic 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 PropertyEnd Class				
back to the top

REFERINŢE

Pentru mai multe informaţii, se referă la următoarele site-uri Web Microsoft:
Eroare de manipulare VB.NET Way: Condiţii de viaţă cu excepţii (articolul un Dezvoltator Visual Basic )
http://msdn.Microsoft.com/en-us/library/aa227603 (v=vs.60) .aspx

Cum a I a prinde o excepţie
http://msdn.Microsoft.com/en-us/library/ys1b32h3 (v=vs.80) .aspx

Cum am arunca o excepţie
http://msdn.Microsoft.com/en-us/library/z7w9ff54 (v=vs.80) .aspx

back to the top

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 315965 - Ultima examinare: 06/15/2012 08:39:00 - Revizie: 2.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005swept kbvs2005applies kbhowtomaster kbmt KB315965 KbMtro
Feedback
ementsByTagName("head")[0].appendChild(m);