Mēģiniet ... Noķert ... Visbeidzot, metieni, lietotāja definēts izņēmums VB.Net

Kas ir izņēmums?

Izņēmums attiecas uz problēmu, kas rodas programmas izpildes laikā. To izraisa neparedzēti apstākļi. Labs piemērs ir tad, kad veicat dalīšanas operāciju un tad dalāt ar nulli (0). Tiks izvirzīts izņēmums.

Šajā Visual Basic apmācībā jūs uzzināsit:

Kas ir izņēmuma apstrāde?

Ar izņēmumiem jūs varat pārsūtīt programmas vadību no vienas daļas uz otru. Vietnē VB.NET izņēmumi tiek apstrādāti, izmantojot šādus 4 atslēgvārdus:

Atslēgvārds Sīkāka informācija
IzmēģinietMēģinājuma bloka uzdevums ir noteikt koda bloku, kuram tiks aktivizēts īpašs izņēmums. Tam vajadzētu sekot bloķēšanas blokam (-iem).
NoķertIzņēmuma noteikšana tiek veikta šajā blokā. Tas ir izņēmumu apstrādātājs, kurā tiek apstrādāts izņēmums.
VisbeidzotIzmantojiet bloku Beidz, lai palaistu paziņojumu kopu neatkarīgi no tā, vai ir noticis izņēmums.
MestIzņēmums tiek izdarīts pēc problēmas rašanās. Tas ir atslēgvārda Mest darbs.

Mēģinājuma/nozvejas sintakse

Izmēģinājuma/noķeršanas paziņojumos izmantota tālāk norādītā sintakse: | _+_ |

Blokam Try/Catch ir jāietver kods, kas var radīt izņēmumu. Šis kods ir pazīstams kā aizsargāts kods. Varat izmantot vairākus paziņojumus par nozveju, ja jums ir jānoķer dažāda veida izņēmumi.

Piemērs izņēmumu apstrādei

Izmantojot paziņojumus Try/Catch, varat atdalīt parasto programmas kodu no kļūdu apstrādes sistēmas. Parādīsim, kā rīkoties ar izņēmumu, izmantojot atslēgvārdus Izmēģināt, Noķert un Visbeidzot.

1. darbība) Izveidojiet jaunu konsoles lietojumprogrammu.

2. darbība) Izmantojiet šo kodu: | _+_ |

3. darbība) Lai izpildītu kodu, rīkjoslā noklikšķiniet uz pogas Sākt. Jums vajadzētu iegūt šādu izvadi:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Izveidot moduli ar nosaukumu Module1.
  2. Izveidot apakšprocedūru ar nosaukumu divīzija Funkcija ar diviem veseliem skaitļiem argumentiem n1 un n2. ByVal ir VB.NET atslēgvārds, kas norāda, ka argumentu vērtības tiks nodotas pēc vērtības.
  3. Vesela skaitļa mainīgā ar nosaukumu atbilde izveide.
  4. Bloka Try/Catch sākums. Mums ir jāietver kods, kas, mūsuprāt, var radīt izņēmumu šajā blokā.
  5. Sadalīšanas operācijas veikšana starp mainīgo lielumu n1 un n2 vērtībām. Sadalīšanas operācijas rezultāts tiek piešķirts mainīgajai atbildei. Šis kods var radīt izņēmumu, piemēram, ja skaitli dalām ar nulli, tāpēc esam to aplenkuši ar blokiem Try/Catch.
  6. Izņēmuma noķeršana ar nosaukumu DivideByZeroException un ģenerētā izņēmuma ziņojuma piešķiršana ex.
  7. Daļa teksta drukāšana konsolē, lai informētu lietotāju par izvirzītā izņēmuma veidu/nosaukumu.
  8. Beidzamais bloks. Tas tiks izpildīts neatkarīgi no tā, vai tiek fiksēts izņēmums.
  9. Izdrukājiet konsolē tekstu, kurā redzams sadalīšanas darbības rezultāts.
  10. Mēģinājuma bloka beigas, tas ir, kļūdu apstrādes koda beigas.
  11. Sadales Funkcijas apakšprocedūras beigas.
  12. Galvenās apakšprocedūras sākums.
  13. Dalīšanas funkcijas izsaukšana/izsaukšana. Šeit tiek nodotas divu veselu skaitļu argumentu vērtības. Vērtība n1 = 4 un n2 = 0. Tas nozīmē, ka sadalīšanas darbība būs 4 0, tas ir, n1 n2.
  14. Konsoles loga apturēšana, gaidot, kamēr lietotājs rīkosies, lai to aizvērtu.
  15. Galvenās apakšprocedūras beigas.
  16. Moduļa beigas.

Lietotāja definēti izņēmumi

VB.NET ļauj jums noteikt savus izņēmumus. Lietotāja definētas izņēmuma klases varat iegūt no klases ApplicationException. Parādīsim to ar piemēru:

1. darbība) Izveidojiet jaunu konsoles lietojumprogrammu.

2. darbība) Izmantojiet šādu kodu: | _+_ |

3. darbība) Lai izpildītu kodu, augšējā joslā noklikšķiniet uz pogas Sākt. Jums vajadzētu iegūt šādu izvadi:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Izveidot moduli ar nosaukumu Module1.
  2. Izņēmuma klases izveide ar nosaukumu HeightIsZeroException. Klase pārmanto visu klasi ApplicationException.
  3. Izveidojot apakšprocedūru ar nosaukumu Jauns. Tas prasīs vienu virknes argumentu ar nosaukumu teksts.
  4. Izsaucot bāzes klases konstruktoru un nododot tam iepriekš minēto argumentu.
  5. Jaunās apakšprocedūras beigas.
  6. HeightIsZeroException klases beigas.
  7. Izveidojiet klasi ar nosaukumu Augstums. Tās publiskās piekļuves pārveidotājs ir publisks, kas nozīmē, ka tas būs publiski pieejams.
  8. Izveidojiet veselu skaitļu mainīgo ar nosaukumu Augstums un inicializējiet tā vērtību uz 0.
  9. Izveidojot apakšprocedūru ar nosaukumu showHeight ().
  10. Pārbauda, ​​vai mainīgā Height vērtība ir 0. Mēs esam izmantojuši nosacījumu If… then.
  11. Mest HeightIsZeroException, ja iepriekš minētais nosacījums ir patiess. Ziņojums Zero Height Found tiks parādīts, kad tiks izmests šis izņēmums.
  12. Cita daļa, kas jāizpilda, ja nosacījums Ja nav patiess.
  13. Ziņojums, ko drukāt uz konsoles, norādot augstumu, ja tas nav 0.
  14. If nosacījuma beigas.
  15. ShowHeight () apakšprocedūras beigas.
  16. Nodarbības beigas Augstums.
  17. Galvenās apakšprocedūras sākums.
  18. Objekta ar nosaukumu Augstums izveide kā augstuma klases piemērs.
  19. Izņēmumu apstrādes bloka sākums.
  20. Izsaucot showHeight () apakšprocedūru, kas definēta augstuma klasē. Lai piekļūtu šai metodei, esam izmantojuši šīs klases objektu. Šī rinda var kļūt par izņēmumu. Tāpēc mēs to esam ielenkuši ar izņēmuma apstrādes kodu.
  21. HeightIsZeroException Exception uztveršana kā objekts ex gadījumā, ja tas notiek.
  22. Ziņojums, kas jāizdrukā konsolē, kad tiek uztverta HeightIsZeroException.
  23. Izņēmumu apstrādes bloka beigas.
  24. Pauzējiet konsoles logu, gaidot, kamēr lietotājs rīkosies, lai to aizvērtu.
  25. Galvenās apakšprocedūras beigas.
  26. Moduļa beigas.

Objektu mešana

Izņēmuma apstrādē jūs varat izvēlēties mest objektu. Tomēr objektam jābūt atvasinātam no sistēmas. Izņēmuma klase, tieši vai netieši. Piemēram:

1. darbība) Izveidojiet jaunu konsoles lietojumprogrammu.

2. darbība) Izmantojiet šādu kodu: | _+_ |

3. darbība) Lai izpildītu kodu, augšējā joslā noklikšķiniet uz pogas Sākt. Jums vajadzētu iegūt sekojošo:

Šeit ir koda ekrānuzņēmums:

Koda skaidrojums:

  1. Izveidot moduli ar nosaukumu Module1.
  2. Galvenās apakšprocedūras sākums.
  3. Kļūdu apstrādes koda sākums.
  4. Izņēmuma objekta mešana. Šis kods var radīt izņēmumu, tāpēc mēs esam to ieskauj ar Try/Catch bloku.
  5. Izņēmuma uztveršana kā objekts ex, ja līnija rada izņēmumu.
  6. Izņēmuma ziņojuma drukāšana konsolē, ja tā rodas.
  7. Pēdējais bloks, kas jāizpilda neatkarīgi no tā, vai tiek uztverts izņēmums.
  8. Ziņojums, kas jāizdrukā konsolē, kad tiek izpildīts galīgais bloks.
  9. Izņēmuma apstrādes koda beigas.
  10. Pagaidiet konsoles darbību, gaidot, kamēr lietotājs rīkosies, lai to aizvērtu.
  11. Galvenās apakšprocedūras beigas.
  12. Moduļa beigas.

Kopsavilkums

  • Izņēmums attiecas uz problēmu, kas rodas programmas izpildes laikā un ko izraisa neparedzēti apstākļi.
  • Ja jums ir aizdomas, ka kāds kods ģenerēs izņēmumu, apņemiet to ar Try/Catch bloku.
  • Bloks Beigt nāk pēc bloka Try/Catch un izpilda, vai tiek fiksēts izņēmums.
  • VB.NET ļauj mums izveidot pielāgotus izņēmumus.