Johdanto poikkeusten käsittelyyn Vb.Netissä
Seuraava artikkeli VB.NET: n poikkeusten käsitteleminen tarjoaa yksityiskohtaisen kuvan poikkeusten käsittelystä VB.Netissä. Tervetuloa VB.NET: n aiheeseen poikkeusten käsittelystä. Oppikaamme oppia, mikä on poikkeusten käsittely, kuinka erilaiset poikkeukset tapahtuvat ja miten käsittelemme näitä poikkeuksia. Poikkeuksia tapahtuu, kun suoritamme ohjelmaa, ja saalis virhe, joka johtaa poikkeukseen, joka voi olla joko järjestelmäpoikkeus tai sovelluspoikkeus. Opimme tästä enemmän poikkeusluokissa. Tässä aiheesta aiomme oppia poikkeusten käsittelystä VB.NET: ssä.
Poikkeuskäsittely VB.NETissä perustuu neljän avainsanan, kuten kokeile, ota, lopulta ja heittää, käyttöön.
- Kokeile: Kokeile estää on koodilohko, joka luo erilaisia poikkeuksia sovelluksessa. Käytämme kiinni estääksemme näiden koe-lohkossa heitettyjen poikkeusten käsittelemiseksi. Siten kokeilulohkoa seuraa aina yksi tai useampi lukituslohko.
- Catch: Catch Block on koodilohko, joka sisältää lauseita, jotka käsittelevät poikkeuksia käyttämällä poikkeuskäsittelijää lauseessa, jossa ongelma ilmeni. Saalislohko on pääasiassa poikkeusten käsittely eri poikkeusluokissa, jotka on määritelty poikkeuskirjastossa.
- Lopuksi: Viimeinen lohko on koodilohko, joka sisältää lauseita, jotka ovat pakollisia suoritettavia lauseita riippumatta siitä, heitetäänkö poikkeus vai ei. Oletetaan, että minun täytyy avata tiedosto, lukea tiedosto, kirjoittaa tiedosto ja sulkea tiedosto. Koelohkossa lauseet ovat kuin avoin tiedosto, lue tiedosto ja kirjoita tiedosto, joka saattaa poiketa poikkeuksesta, mutta tiedosto on suljettava ennen ohjelman päättymistä. Siksi viimeisessä lohkossa on aina lauseita, kuten tiedostojen sulkeminen, tietokantayhteyden sulkeminen, ohjelman sulkeminen jne.
- Heitä: Kun ongelma ilmenee, tämä lause antaa poikkeuksen. Tämä poikkeus voi olla sisäänrakennettu tai käyttäjän määrittelemä poikkeus.
Syntaksi
Try-Catch Block -koodi on seuraavan mukainen
Try
Catch As
(Catch1 Statements) Catch As
(Catch2 Statements) Catch As
(Catch3 Statements) Finally
(Finally Statements) End Try
Täällä on useampi kuin yksi saalislohko, joka on esitetty yllä olevassa syntaksissa erityyppisten poikkeusten saamiseksi, jotka koelohko on tuonut esiin. Saattaa tapahtua, että useampi kuin yksi poikkeus on heitetty yrittämällä ja vain yksi saalislohko on käytettävissä. Kaikkien poikkeusten kaatamiseksi tarvitsemme yhden tai useamman saalisilmoituksen. Ja siten olemme kirjoittaneet useamman kuin yhden saalistuslausuman yllä olevaan syntaksiin.
Poikkeusluokat VB.NET: ssä
Kuten edellä mainitussa lausunnossa jo mainittiin. Poikkeuksia on erityyppisiä, ja nämä ovat vain luokkia. Vanhempi luokka, josta nämä luokat ovat perineet, on System.Exception.
Pääasiassa on kaksi poikkeusta
- System.SystemException
- System.ApplicationException
System.SystemException on luokka kaikille sisäänrakennetuille järjestelmäpoikkeuksille tai voidaan sanoa, että ajonaikaisen virheen ilmetessä järjestelmän poikkeusluokat, kuten DivideByZeroException, IndexOutOfRangeException, StackOverflowException, hetkellistyvät.
System.ApplicationException on luokka, joka suorittaa ohjelmoijan tai sovelluksen kehittäjän määrittelemät poikkeukset. Se heittää käyttäjän määrittelemän poikkeuksen, joka on johdettu tästä System.ApplicationException-luokasta.
Katsotaanpa muutama VB.NET-poikkeusluokka ja sen käyttö.
System.IndexOutOfRangeException: Tämä poikkeus käsittelee virheitä, jotka aiheutuvat ryhmän indeksistä, joka on rajojen ulkopuolella. Oletetaan, että meillä on 5 taulukon pituutta, ja silmukoimme tätä 6 kertaa kuudennen kerran, kun ohjelma suorittaa IndexOutOfRangeException.
System.DivideByZeroException: Tämä poikkeus käsittelee virheet, jotka aiheutuvat, kun numero jaetaan nollalla, mikä on ristiriidassa sen yleisen säännön kanssa, jonka mukaan luku, joka jaetaan nolla, johtaa ohjelman epänormaaliin lopettamiseen.
System.FormatException: Tämä poikkeus käsittelee virheet, jotka aiheutuvat käyttäjän syöttäessä merkki tai merkkijono pyydettäessä numeroa tai kokonaislukua. sanotaan, että käyttäjän on syötettävä 5, mutta syötteet sanovat "y", tämä poikkeus tapahtuu.
Esimerkkejä poikkeusten käsittelystä VB.NET: ssä
Nämä ovat muutama selitetty poikkeus. Annetaan nyt oppia käsittelemään näitä poikkeuksia VB.Netissä esimerkiksi
Esimerkit # 1
Alla on DivideByZeroException -ohjelma ja sen tuotos
Ohjelman koodi
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
Koodin lähtö
Esimerkki 2
Ohjelma Ylivuotovaikutusta varten
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
Koodin lähtö
Lisäksi nyt luodaan omat räätälöityjä poikkeuksiamme
Tässä ohjelmassa tarkistamme, onko numero parillinen vai pariton,
Loogisuus: Luku jaetaan kahdella, jos tulos on 0, niin se on parillinen luku, jos tulos ei ole 0, se on pariton luku.
Ohjelman koodi on
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
Ohjelman lähtö
Samoin, jos kirjoitamme luvuksi 100 (55: n sijasta) yllä olevaan ohjelmaan ja suoritamme sen, se näyttää seuraavan virheen
johtopäätös
Toivottavasti ymmärsit aiheen, Poikkeuskäsittely VB.NET: ssä, ja pystyt käsittämään tässä mainittujen erilaisten esimerkkien avulla
Suositellut artikkelit
Tämä on opas poikkeusten käsittelyyn VB.NET: ssä. Tässä keskustellaan VB.NET: n poikkeusluokista ja näytteen koodista poikkeusten käsittelemiseksi. Saatat myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -
- VB.NET-ohjaimet
- VB.Net-tietotyypit
- Mikä on ADO.NET?
- Mikä on .NET-ydin
- VB.Net -tapahtumat