Obsługa wyjątków w VB.NET - Dowiedz się, jak obsługiwać wyjątki

Spisie treści:

Anonim

Wprowadzenie do obsługi wyjątków w Vb.Net

Poniższy artykuł Obsługa wyjątków w VB.NET zawiera szczegółowy zarys obsługi wyjątków w VB.Net. Witamy w temacie obsługi wyjątków w VB.NET. Dowiedzmy się, czym jest obsługa wyjątków, jak występują różne wyjątki i jak sobie z nimi radzić. Wyjątki występują, gdy uruchamiamy program i wychwytuje się błąd, który prowadzi do wyjątku, którym może być wyjątek systemowy lub wyjątek aplikacji. Więcej na ten temat dowiemy się w klasach wyjątków. W tym temacie nauczymy się obsługi wyjątków w VB.NET.

Obsługa wyjątków w VB.NET opiera się na użyciu czterech słów kluczowych, takich jak try, catch, wreszcie i throws.

  • Try: A Try Block to blok kodu, który generuje różne wyjątki w aplikacji. Aby obsłużyć te wyjątki zgłoszone w bloku try, używamy catch catch. Zatem po bloku try zawsze następuje jeden lub więcej bloków catch.
  • Catch: A Catch Block to blok kodu, który zawiera instrukcje obsługujące wyjątki za pomocą procedury obsługi wyjątków w instrukcji, w której wystąpił problem. Blok przechwytujący to głównie obsługa wyjątków przez różne klasy wyjątków zdefiniowane w bibliotece wyjątków.
  • W końcu: Blok w końcu to blok kodu, który zawiera instrukcje, które są instrukcjami obowiązkowymi do wykonania niezależnie od tego, czy wyjątek zostanie zgłoszony, czy nie. Załóżmy, że muszę otworzyć plik, odczytać plik, napisać plik i zamknąć plik. W bloku try instrukcje są jak otwieranie pliku, odczytywanie pliku i zapisywanie pliku, który może zgłaszać wyjątek, ale plik musi zostać zamknięty przed zakończeniem programu. Zatem końcowy blok ma zawsze takie instrukcje, jak zamykanie plików, zamykanie połączenia z bazą danych, zamykanie programu itp.
  • Rzut: gdy wystąpi problem, to oświadczenie generuje wyjątek. Ten wyjątek może być wbudowany lub zdefiniowany przez użytkownika.

Składnia

Kod dla Try-Catch Block jest następujący

Try
Catch As
(Catch1 Statements) Catch As
(Catch2 Statements) Catch As
(Catch3 Statements) Finally
(Finally Statements) End Try

W powyższej składni wyświetlany jest więcej niż jeden blok catch, aby wychwycić różnego rodzaju wyjątki zgłaszane przez blok try. Może się zdarzyć, że więcej niż jeden wyjątek zostanie wyrzucony przez blok try i dostępny jest tylko jeden blok catch, wówczas aby złapać wszystkie wyjątki, potrzebujemy jednej lub wielu instrukcji catch. I tak napisaliśmy więcej niż jedną instrukcję catch w powyższej składni.

Klasy wyjątków w VB.NET

Jak już wspomniano w powyższym oświadczeniu. Wyjątki są różnego rodzaju i są to tylko klasy. Klasą nadrzędną, z której te klasy są dziedziczone, jest System.Exception.

Głównie są dwa wyjątki

  1. System.SystemException
  2. System.ApplicationException

System.SystemException jest klasą dla wszystkich wbudowanych wyjątków systemowych lub możemy powiedzieć, że gdy wystąpi błąd czasu działania, kiedy wystąpiły, klasy wyjątków systemowych, takie jak DivideByZeroException, IndexOutOfRangeException, StackOverflowException są tworzone.

System.ApplicationException to klasa, która wykonuje wyjątki zdefiniowane przez programistę lub programistę za pomocą aplikacji. Zgłasza wyjątek zdefiniowany przez użytkownika, który pochodzi z tej klasy System.ApplicationException.

Rzućmy okiem na kilka klas wyjątków VB.NET i ich wykorzystanie.

System.IndexOutOfRangeException: Ten wyjątek obsługuje błędy spowodowane przez indeks tablicy, który jest poza zakresem. Załóżmy, że mamy tablicę o 5 długościach tablicy i zapętlamy ją 6 razy po raz szósty, gdy program przejdzie przez IndexOutOfRangeException.

System.DivideByZeroException: Ten wyjątek obsługuje błędy spowodowane, gdy liczba jest dzielona przez zero, co jest sprzeczne z uniwersalną regułą, że liczba dzielona przez zero spowoduje nieprawidłowe zakończenie programu.

System.FormatException: Ten wyjątek obsługuje błędy spowodowane, gdy użytkownik wprowadzi znak lub ciąg znaków, gdy zostanie poproszony o podanie liczby lub liczby całkowitej. powiedz, że użytkownik musi wprowadzić 5, ale dane wejściowe mówią „y”, wówczas wystąpi ten wyjątek.

Przykłady obsługi wyjątków w VB.NET

Oto kilka wyjaśnionych wyjątków. Nauczmy się teraz obsługiwać te wyjątki w VB.Net na przykład

Przykłady # 1

Poniżej znajduje się program dotyczący DivideByZeroException i jego dane wyjściowe

Kod programu

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

Dane wyjściowe kodu

Przykład nr 2

Program dla wyjątku 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

Dane wyjściowe Kodeksu

Co więcej, stwórzmy teraz własne niestandardowe wyjątki

W tym programie sprawdzimy, czy liczba jest parzysta czy nieparzysta,

Logika: Liczba jest dzielona przez 2, jeśli wynikiem jest 0, to jest to liczba parzysta, a jeśli wynikiem nie jest 0, jest to liczba nieparzysta.

Kod programu to

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

Dane wyjściowe programu

Podobnie, jeśli wprowadzimy liczbę w powyższym programie jako 100 (zamiast 55) i wykonamy, wyświetli się następujący błąd

Wniosek

Mamy nadzieję, że zrozumiałeś temat Obsługa wyjątków w VB.NET i będziesz w stanie zrozumieć za pomocą różnych przykładów wymienionych tutaj

Polecane artykuły

Jest to przewodnik po obsłudze wyjątków w VB.NET. Tutaj omawiamy klasy wyjątków w VB.NET i przykładowy kod do obsługi wyjątków. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Sterowanie VB.NET
  2. Typy danych VB.Net
  3. Co to jest ADO.NET?
  4. Co to jest .NET Core
  5. Zdarzenia VB.Net