Einführung in die Ausnahmebehandlung in Vb.Net
Der folgende Artikel Ausnahmebehandlung in VB.NET enthält eine detaillierte Übersicht über die Behandlung von Ausnahmen in VB.Net. Willkommen zum Thema Ausnahmebehandlung in VB.NET. Lassen Sie uns lernen, was Ausnahmebehandlung ist, wie die verschiedenen Ausnahmen auftreten und wie wir mit diesen Ausnahmen umgehen. Ausnahmen treten auf, wenn ein Programm ausgeführt wird und ein Fehler auftritt, der zu einer Ausnahme führt, die entweder eine System- oder eine Anwendungsausnahme sein kann. Wir werden mehr darüber in den Ausnahmeklassen erfahren. In diesem Thema lernen wir die Ausnahmebehandlung in VB.NET kennen.
Die Ausnahmebehandlung in VB.NET basiert auf der Verwendung von vier Schlüsselwörtern wie try, catch, finally und throws.
- Try: Ein Try-Block ist ein Codeblock, der innerhalb der Anwendung unterschiedliche Ausnahmen generiert. Um diese im try-Block ausgelösten Ausnahmen zu behandeln, verwenden wir den catch-Block. Auf den try-Block folgen also immer ein oder mehrere catch-Blöcke.
- Catch: Ein Catch-Block ist ein Codeblock, der die Anweisungen enthält, die die Ausnahmen behandeln, indem ein Ausnahmehandler für die Anweisung verwendet wird, bei der das Problem aufgetreten ist. Der catch-Block ist hauptsächlich die Behandlung von Ausnahmen durch verschiedene Ausnahmeklassen, die in der Bibliothek der Ausnahmen definiert sind.
- Schließlich: Ein Schließlich-Block ist ein Codeblock, der Anweisungen enthält, die auszuführende Anweisungen sind, unabhängig davon, ob die Ausnahme ausgelöst wird oder nicht. Angenommen, ich muss eine Datei öffnen, die Datei lesen, die Datei schreiben und die Datei schließen. Anweisungen im try-Block sind wie das Öffnen einer Datei, Lesen und Schreiben einer Datei, die möglicherweise eine Ausnahme auslöst oder nicht, die Datei muss jedoch geschlossen werden, bevor das Programm endet. So hat der letzte Block immer Anweisungen wie Schließen der Dateien, Schließen der Datenbankverbindung, Schließen des Programms usw.
- Auslösen: Wenn ein Problem auftritt, löst diese Anweisung eine Ausnahme aus. Diese Ausnahme kann eine eingebaute oder benutzerdefinierte Ausnahme sein.
Syntax
Der Code für den Try-Catch-Block lautet wie folgt
Try
Catch As
(Catch1 Statements) Catch As
(Catch2 Statements) Catch As
(Catch3 Statements) Finally
(Finally Statements) End Try
Hier wird in der obigen Syntax mehr als ein catch-Block angezeigt, um einen anderen Typ von Ausnahmen abzufangen, die vom try-Block ausgelöst werden. Es kann vorkommen, dass mehr als eine Ausnahme vom try-Block ausgelöst wird und nur ein catch-Block verfügbar ist. Um dann alle Ausnahmen abzufangen, benötigen wir eine oder mehrere catch-Anweisungen. Und so haben wir mehr als eine catch-Anweisung in der obigen Syntax geschrieben.
Ausnahmeklassen in VB.NET
Wie bereits in der obigen Aussage erwähnt. Es gibt verschiedene Arten von Ausnahmen, und diese sind nichts anderes als Klassen. Die übergeordnete Klasse, von der diese Klassen geerbt werden, ist System.Exception.
Es gibt hauptsächlich zwei Ausnahmen
- System.SystemException
- System.ApplicationException
System.SystemException ist eine Klasse für alle eingebauten Systemausnahmen, oder wir können sagen, dass beim Auftreten eines Laufzeitfehlers die Systemausnahmeklassen wie DivideByZeroException, IndexOutOfRangeException, StackOverflowException instanziiert werden.
System.ApplicationException ist eine Klasse, die die vom Programmierer oder Entwickler mit der Anwendung definierten Ausnahmen ausführt. Es wird eine benutzerdefinierte Ausnahme ausgelöst, die von dieser System.ApplicationException-Klasse abgeleitet ist.
Sehen wir uns einige VB.NET-Ausnahmeklassen und deren Verwendung an.
System.IndexOutOfRangeException: Diese Ausnahme behandelt die Fehler, die durch einen Array-Index verursacht werden, der außerhalb des Bereichs liegt. Angenommen, wir haben ein Array mit 5 Array-Längen und schleifen dieses 6-mal, wenn das Programm IndexOutOfRangeException durchläuft.
System.DivideByZeroException: Diese Ausnahme behandelt die Fehler, die verursacht werden, wenn eine Zahl durch Null geteilt wird. Dies widerspricht der allgemeinen Regel, dass eine durch Null geteilte Zahl zu einem abnormalen Programmabbruch führt.
System.FormatException: Diese Ausnahme behandelt die Fehler, die verursacht werden, wenn der Benutzer ein Zeichen oder eine Zeichenfolge eingibt, wenn er nach einer Zahl oder einer Ganzzahl gefragt wird. Angenommen, der Benutzer muss 5 eingeben, aber Eingaben sagen 'y', dann tritt diese Ausnahme auf.
Beispiele für die Ausnahmebehandlung in VB.NET
Dies sind einige Ausnahmen erklärt. Lernen wir nun anhand eines Beispiels, mit diesen Ausnahmen in VB.Net umzugehen
Beispiele # 1
Unten sehen Sie das Programm für DivideByZeroException und dessen Ausgabe
Der Code für das Programm
Module exceptionProg
Sub division(ByVal n1 As Integer, ByVal n2 As Integer)
Dim res As Integer
Try
res = n1 \ n2
Catch ex As DivideByZeroException
Console.WriteLine("Exception caught: (0)", ex)
Finally
Console.WriteLine("Result: (0)", res)
End Try
End Sub
Sub Main()
division(100, 0)
Console.ReadKey()
End Sub
End Module
Die Ausgabe des Codes
Beispiel # 2
Programm für OverflowException
Module OverFlowProg
Sub division(ByVal n1 As Integer, ByVal n2 As Integer)
Dim res As Integer
Try
res = n1 \ n2
Catch ex As DivideByZeroException
Console.WriteLine("Exception caught: (0)", ex)
Finally
Console.WriteLine("Result: (0)", res)
End Try
End Sub
Sub Main()
division(25, 777777777777)
Console.ReadKey()
End Sub
End Module
Die Ausgabe des Codes
Lassen Sie uns nun unsere eigenen benutzerdefinierten Ausnahmen erstellen
In diesem Programm prüfen wir, ob die Zahl gerade oder ungerade ist.
Logik: Die Zahl wird durch 2 geteilt. Wenn das Ergebnis 0 ist, ist es eine gerade Zahl. Wenn das Ergebnis nicht 0 ist, ist es eine ungerade Zahl.
Code für das Programm ist
Module EvenorOddNo
Public Class EvenorOddNo : Inherits ApplicationException
Public Sub New(ByVal message As String)
MyBase.New(message)
End Sub
End Class
Public Class Divide
Dim AnyNo As Integer = 55
Dim No As Integer = 2
Sub showNumber()
If (AnyNo Mod No > 0) Then
Throw (New EvenorOddNo("The number is an odd number"))
Else
Console.WriteLine("The number is an even number : (0)", AnyNo)
End If
End Sub
End Class
Sub Main()
Dim obj As Divide = New Divide()
Try
obj.showNumber()
Catch ex As EvenorOddNo
Console.WriteLine("EvenorOddNo: (0)", ex.Message)
End Try
Console.ReadKey()
End Sub
End Module
Die Ausgabe des Programms
Wenn wir im obigen Programm die Zahl 100 (anstelle von 55) eingeben und ausführen, wird der folgende Fehler angezeigt
Fazit
Hoffentlich haben Sie das Thema Ausnahmebehandlung in VB.NET verstanden und können es anhand der hier genannten Beispiele nachvollziehen
Empfohlene Artikel
Dies ist eine Anleitung zur Ausnahmebehandlung in VB.NET. Hier werden die Ausnahmeklassen in VB.NET und der Beispielcode zur Behandlung der Ausnahmen erläutert. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -
- VB.NET-Steuerelemente
- VB.Net-Datentypen
- Was ist ADO.NET?
- Was ist .NET Core?
- VB.Net-Veranstaltungen