Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

Ihr Browser wird nicht unterstützt.

Sie müssen Ihren Browser aktualisieren, um die Website zu verwenden.

Aktualisieren Sie auf die neueste Version von Internet Explorer.

So verwenden Sie die strukturierte Ausnahmebehandlung in Visual Basic.NET oder in Visual Basic 2005

Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 315965
Zusammenfassung
Dieser Artikel veranschaulicht die strukturierte Ausnahmebehandlung in Visual Basic verwenden.NET oder Visual Basic 2005.

back to the top

Anforderungen

Die folgende Liste führt die empfohlene Hardware, Software, Netzwerkinfrastruktur und Servicepacks, die Sie benötigen:
  • Visual Basic.NET oder Visual Basic 2005
Dieser Artikel setzt voraus, dass Sie mit den folgenden Themen vertraut sind:
  • Visual Basic.NET oder Visual Basic 2005
  • Microsoft Visual Studio.NET oder Microsoft Visual Studio 2005
back to the top

Strukturierte Ausnahmebehandlung

Visual Basic.NET oder Visual Basic 2005 bietet die strukturierte Ausnahmebehandlung, der bietet eine leistungsstarke, lesbarere Alternative zu "On Error Goto" Error Handling, der in früheren Versionen von Microsoft Visual Basic verfügbar ist. Strukturierte Ausnahmebehandlung ist leistungsfähiger, da es Ihnen ermöglicht, Fehler-Handler in anderen Fehler-Handler in der gleichen Prozedur zu verschachteln. Strukturierte Ausnahmebehandlung verwendet darüber hinaus eine Block-Syntax ähnelt der Wenn...Anderes...End If Anweisung. Dadurch werden Visual Basic.NET und Visual Basic 2005 Code lesbarer und einfacher zu verwalten.

Hinweis: Visual Basic.NET oder Visual Basic 2005 behält die Syntax "On Error Goto", um Abwärtskompatibilität zu gewährleisten. Sie können weiterhin diese Syntax in Visual Basic.NET oder Visual Basic-2005-Code. Jedoch kann keine strukturierte Ausnahmebehandlung und On Error -Anweisungen innerhalb der gleichen Prozedur kombiniert werden. Wenn Sie neuen Code schreiben, Microsoft empfiehlt die Verwendung der strukturierten Ausnahmebehandlung.

Die grundlegende Syntax der strukturierten Fehlerbehandlung ist wie folgt:
Try   'Code that may raise an error.Catch   'Code to handle the error.Finally   'Code to do any final clean up.End Try				
Try- und End Try -Anweisungen sind erforderlich. Catch und Finally -Anweisungen sind nicht erforderlich, wenn mindestens einer von ihnen in Ihrem Code aufnehmen müssen. Mehrere Catch -Anweisungen können Sie auch angeben, so dass jeder Catch -Block einen bestimmten Fehler behandelt.

back to the top

Abfangen einer Ausnahme

  1. Starten Sie Visual Studio.NET oder Visual Studio 2005.
  2. Erstellen Sie ein neues Konsolenanwendungsprojekt in Visual Basic.NET oder Visual Basic 2005.
  3. Fügen Sie den folgenden Code in die Sub Main -Prozedur:
    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. Klicken Sie im Menü Debuggen auf Starten , um die Anwendung auszuführen. Der Code versucht, eine Zahl durch Null zu teilen. Dies ist eine unzulässige Operation, die eine Division durch Null Ausnahme verursacht. Glücklicherweise Catch -Block fängt diese Fehler, und das Konsolenfenster zeigt die folgende Fehlermeldung angezeigt:
    A run-time error has occurred						
  5. Schließen Sie das Konsolenfenster.
back to the top

Mehrere Ausnahmen abfangen

In diesem Abschnitt veranschaulicht mehrere Catch -Anweisungen verwenden, um verschiedene Fehler zu behandeln.
  1. Öffnen Sie das Konsolenanwendungsprojekt, das Sie im vorherigen Abschnitt erstellt.
  2. Ersetzen Sie den Code, den Sie im vorherigen Abschnitt mit den folgenden Code kopiert, in die Sub Main -Prozedur:
    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						
    Dieser Code enthält zwei Catch -Blöcke: eine vorherige Division durch Null abfangen und eine neue Überlauffehler abfangen.
  3. Klicken Sie im Menü Debuggen auf Starten , um die Anwendung auszuführen. Das Konsolenfenster wird die folgende Fehlermeldung angezeigt:
    Error: Overflow						
  4. Schließen Sie das Konsolenfenster.
  5. Da Sie immer alle Fehler vorhersehen können, die auftreten können, können Sie einen Alle Catch -Block für unerwartete Ausnahmen hinzufügen. Fügen Sie beispielsweise den folgenden Code vor der Finally -Anweisung zu unerwarteten Fehler abfangen und die entsprechende Fehlermeldung angezeigt:
    Catch exc As ExceptionConsole.WriteLine("Error: " & exc.Message)					
  6. Klicken Sie im Menü Datei auf Projektmappe schließen.
back to the top

Eine Ausnahme

Strukturierte Ausnahmebehandlung verwendet die Catch -Anweisung eine Ausnahme abfangen. Strukturierte Ausnahmebehandlung auch bietet eine Möglichkeit, eine Ausnahme ausgelöst. Beispielsweise empfiehlt es sich um eine Ausnahme auszulösen, wenn Sie Gültigkeitsprüfung innerhalb einer Property Set -Prozedur ausgeführt werden, da Sie möglicherweise ein Fehler ausgelöst, wenn eine Geschäftsregel verletzt wird.
  1. Starten Sie Visual Studio.NET oder Visual Studio 2005.
  2. Erstellen Sie ein neues Konsolenanwendungsprojekt in Visual Basic.NET oder Visual Basic 2005.
  3. Klicken Sie im Menü Projekt auf Klasse hinzufügen.
  4. Geben Sie im Fenster Neues Element hinzufügenclsPerson.vb im Textfeld Name und klicken Sie dann auf OK.
  5. Fügen Sie den folgenden Code in der Public Class ClsPerson...End Class Anweisungen:
    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						
    Dieser Code erstellt eine Age -Eigenschaft. Da eine Person eine negative Alter haben kann, wird ein Fehler ausgelöst, wenn der Benutzer der Klasse versucht, Alter auf eine Zahl, die kleiner als 0 (null) festgelegt.
  6. Fügen Sie in der Sub Main -Prozedur "Module1.vb" den folgenden Code ein:
    Dim p As New clsPerson()Try  p.Age = -1Catch exc As Exception  Console.WriteLine(exc.Message)Finally  Console.ReadLine()End Try					
  7. Klicken Sie im Menü Debuggen auf Starten , um die Anwendung auszuführen. Das Konsolenfenster wird die folgende Fehlermeldung angezeigt:
    Age cannot be negative						
  8. Schließen Sie das Konsolenfenster.
back to the top

Vollständige Codeauflistung

Abfangen einer Ausnahme

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

Mehrere Ausnahmen abfangen

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

Eine Ausnahme

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

REFERENZEN

Weitere Informationen finden Sie auf der folgenden Microsoft-Websites:
Fehler bei der Verarbeitung der ASP.NET Weg: Leben mit Ausnahmen ( Visual Basic-Developer -Artikel)
http://msdn.Microsoft.com/en-us/library/aa227603 (v=vs.60) aspx

Wie führen Sie eine Ausnahme abfangen
http://msdn.Microsoft.com/en-us/library/ys1b32h3 (v=vs.80) aspx

Wie führen Sie eine Ausnahme auslösen
http://msdn.Microsoft.com/en-us/library/z7w9ff54 (v=vs.80) aspx

back to the top

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 315965 – Letzte Überarbeitung: 06/15/2012 08:21:00 – Revision: 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 KbMtde
Feedback
>&t="> "//c.microsoft.com/ms.js'><\/script>");