Turinys:
Apibrėžimas - ką reiškia tvarkymas išimtimis?
Išimčių tvarkymas yra mechanizmas, kuriame programavimo konstruktas yra naudojamas nuosekliai fiksuoti, perimti ir tvarkyti klaidas, įvykusias vykdant programą. .NET Framework bendrosios kalbos vykdymo laikas (CLR) yra skirtas naudoti išimčių tvarkymo modelį, pagrįstą išimties objektais ir apsaugotais kodo blokais.
CLR įgyvendintos išimties tvarkymo mechanizmo savybės yra šios:
a) Kiekviena kalba gali turėti savo specifikaciją, kaip tvarkyti išimtis be jokių apribojimų
b) Išimtys sukuriamos ir tvarkomos neatsižvelgiant į naudojamą kalbą ir kodo tipą (tvarkomą ar nevaldomą)
c) Išimtys gali būti perduotos per proceso ar mašinos ribas
„Techopedia“ paaiškina išimčių tvarkymą
.NET runtime išmeta išimtis, kaip objektus, išvestus iš „System.Exception“ klasės, kuriuose yra išsami klaidos informacija, įskaitant pranešimą ir kodo eilutę, kurioje įvyko klaida ir tt Konstrukcija „try..catch..finally“ naudojama išimtims tvarkyti. Nors „pabandyti“ (kai numatomos išimtys) ir „pagauti“ (kai tvarkomos išimtys) blokai yra privalomi, blokas „pagaliau“ (kur bet kokiu atveju vykdomas kodas) yra neprivalomas.
Palyginus su klaidų tvarkymu, įgyvendintu naudojant tradicinius metodus, pavyzdžiui, naudojant grįžimo kodą, kaip komponento objekto modelyje (COM), ir „eik į“ teiginius, kaip ir „Visual Basic“ ir kt., - pagrindiniai .NET išimčių pranašumai yra visų gedimai, pašalinamas grąžinimo vertės ir jos panaudojimo (jei netinkamas) tikrinimo procesas programose, naudojimas scenarijuose, kur nėra grąžinimo vertės, pavyzdžiui, konstruktoriuose, padidėjęs patikimumas ir geresnis našumas.
Nors „Java“ teikia „patikrintas“ išimtis, kurios padeda užkirsti kelią netvarkingoms išimtims kompiliavimo metu, jos negali būti naudojamos klaidoms, kurios yra neatitaisomos nesėkmės. Išimčių tvarkymas „C ++“ skiriasi nuo .NET tuo, kad neturi „pagaliau“ bloko valyti išteklius ir neriboja išimties rūšies.
