Introduzione alla gestione delle eccezioni in Vb.Net
Il seguente articolo Gestione delle eccezioni in VB.NET fornisce una struttura dettagliata per la gestione delle eccezioni in VB.Net. Benvenuti nell'argomento della gestione delle eccezioni in VB.NET. Impariamo cos'è la gestione delle eccezioni è come si verificano le diverse eccezioni e come gestiamo queste eccezioni. Si verificano eccezioni quando si esegue un programma e viene rilevato un errore che porta a un'eccezione che può essere un'eccezione di sistema o un'eccezione dell'applicazione. Impareremo di più al riguardo nelle Classi di eccezione. In questo argomento, impareremo la gestione delle eccezioni in VB.NET.
La gestione delle eccezioni in VB.NET si basa sull'uso di quattro parole chiave come provare, catturare, infine e gettare.
- Try: Un Try Block è un blocco di codice che genera diverse eccezioni all'interno dell'applicazione. Per gestire queste eccezioni generate nel blocco try utilizziamo il blocco catch. Pertanto, il blocco try è sempre seguito da uno o più blocchi catch.
- Cattura: un blocco di cattura è un blocco di codice che contiene le istruzioni che gestiscono le eccezioni utilizzando un gestore di eccezioni sull'istruzione in cui si è verificato il problema. Il blocco catch è principalmente la gestione delle eccezioni da parte di diverse classi di eccezioni definite nella libreria delle eccezioni.
- Infine: un blocco Infine è un blocco di codice che contiene istruzioni che sono istruzioni obbligatorie da eseguire indipendentemente dal fatto che l'eccezione venga generata o meno. Supponiamo di dover aprire un file, leggere il file, scrivere il file e chiudere il file. Nel blocco try, le istruzioni sono come aprire un file, leggere un file e scrivere un file che può o meno generare un'eccezione ma il file deve essere chiuso prima della fine del programma. Quindi il blocco finale ha sempre istruzioni come la chiusura dei file, la chiusura della connessione al database, la chiusura del programma, ecc.
- Lancio: quando si verifica un problema, questa istruzione genera un'eccezione. Questa eccezione può essere integrata o definita dall'utente.
Sintassi
Il codice per Try-Catch Block è il seguente
Try
Catch As
(Catch1 Statements) Catch As
(Catch2 Statements) Catch As
(Catch3 Statements) Finally
(Finally Statements) End Try
Qui, c'è più di un blocco catch visualizzato nella sintassi sopra per catturare un diverso tipo di eccezioni sollevate dal blocco try. Può accadere che più di un'eccezione venga generata dal blocco try e sia disponibile un solo blocco catch, quindi per rilevare tutte le eccezioni avremo bisogno di una o più dichiarazioni catch. E così abbiamo scritto più di una dichiarazione catch nella sintassi sopra.
Classi di eccezione in VB.NET
Come già accennato nella precedente dichiarazione. Le eccezioni sono di diversi tipi e queste non sono altro che classi. La classe padre da cui sono ereditate queste classi è System.Exception.
Ci sono principalmente due eccezioni
- System.SystemException
- System.ApplicationException
System.SystemException è una classe per tutte le eccezioni di sistema integrate o possiamo dire che quando si esegue un errore di tempo quando si sono verificate le classi di eccezione di sistema come DivideByZeroException, IndexOutOfRangeException, StackOverflowException è istanziato.
System.ApplicationException è una classe che esegue le eccezioni definite dal programmatore o dallo sviluppatore all'interno dell'applicazione. Genera un'eccezione definita dall'utente che deriva da questa classe System.ApplicationException.
Diamo un'occhiata ad alcune classi di eccezioni VB.NET e al suo utilizzo.
System.IndexOutOfRangeException: questa eccezione gestisce gli errori causati da un indice di array che non rientra nell'intervallo. Supponiamo di avere un array di 5 lunghezze di array e di eseguire questo ciclo 6 volte la sesta volta che il programma eseguirà IndexOutOfRangeException.
System.DivideByZeroException: questa eccezione gestisce gli errori causati quando un numero viene diviso per zero, il che è contrario alla regola universale che un numero diviso per zero comporterà una chiusura anomala del programma.
System.FormatException: questa eccezione gestisce gli errori causati quando l'utente immette un carattere o una stringa quando viene richiesto un numero o un numero intero. dire che l'utente deve inserire 5 ma gli input indicano 'y', quindi si verificherà questa eccezione.
Esempi di gestione delle eccezioni in VB.NET
Queste sono alcune eccezioni spiegate. Ora impariamo a gestire queste eccezioni in VB.Net con l'esempio
Esempi n. 1
Di seguito è riportato il programma per DivideByZeroException e il suo output
Il codice per il programma
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
L'output del codice
Esempio n. 2
Programma per 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
L'output del codice
Inoltre, ora creiamo le nostre eccezioni personalizzate
In questo programma, controlleremo se il numero è pari o dispari,
Logica: il numero è diviso per 2 se il risultato è 0, quindi è un numero pari altrimenti se il risultato non è 0 è un numero dispari.
Il codice per il programma è
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
L'output del programma
Allo stesso modo, se inseriamo il numero come 100 (anziché 55) nel programma sopra ed eseguiamo, mostrerà il seguente errore
Conclusione
Spero che tu abbia capito l'argomento Gestione delle eccezioni in VB.NET e sarai in grado di capire con l'aiuto di diversi esempi menzionati qui
Articoli consigliati
Questa è una guida alla gestione delle eccezioni in VB.NET. Qui discutiamo le classi di eccezioni in VB.NET e il codice di esempio per gestire le eccezioni. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -
- Controlli VB.NET
- Tipi di dati VB.Net
- Che cos'è ADO.NET?
- Che cos'è .NET Core
- Eventi VB.Net