Skirtumas Tarp Patikrintos Išimties Ir Vykdymo Laiko Išimties

Skirtumas Tarp Patikrintos Išimties Ir Vykdymo Laiko Išimties
Skirtumas Tarp Patikrintos Išimties Ir Vykdymo Laiko Išimties

Video: Skirtumas Tarp Patikrintos Išimties Ir Vykdymo Laiko Išimties

Video: Skirtumas Tarp Patikrintos Išimties Ir Vykdymo Laiko Išimties
Video: NEW 95 kodas 4-3 pamoka. Tachografai ir darbo bei poilsio režimas 2024, Balandis
Anonim

Patikrinta išimtis ir vykdymo laiko išimtis

Išimtys yra ypatingo tipo įvykiai, kurie gali sutrikdyti įprastą programos eigą. Pavadinimo išimtis kilo iš „išskirtinio įvykio“. Išimties išmetimas yra išimties objekto sukūrimo ir perdavimo vykdymo sistemai procesas. Kai vykdymo laiko sistema gauna išimties objektą, ji bandys surasti ką nors, kas jį tvarkytų skambučių kamino viduje, važiuodama atvirkštine tvarka (kuria buvo vadinami metodai). Vykdymo sistema yra sėkminga, jei ji randa metodą su išimčių tvarkytuvu. Išimčių tvarkytuvas yra kodo blokas, kuris gali oficialiai tvarkyti minėtą išimtį. Jei vykdymo laiko sistema randa tinkamą apdorotoją, ji perduos išimties objektą tvarkytojui. Tai vadinama išimties gaudymu. Tačiau jei išimties nepavyksta apdoroti, programa bus nutraukta. „Java“kalbojeišimtys paveldimos iš „Throwable“klasės. Pažymėtos išimtys yra išimtys, kurias tvarkyti priverčia kompiliatorius. Vykdymo laiko išimtys yra tam tikros rūšies išimtys, kurių kompiliatorius netikrina.

Kas yra patikrinta išimtis?

Pažymėtos išimtys yra klasės java.lang.exception objektai arba jos poklasiai (išskyrus java.lang. RuntimeException ir jo poklasius). Pažymėtos išimtys „patikrinamos“kompiliavimo metu. Tai reiškia, kad programuotojas turi arba sugauti, arba išmesti šias išimtis, kitaip kompiliatas skundžiasi (sukeldamas kompiliatoriaus klaidą). Dėl šios priežasties daugelis patikrintų išimčių yra labai gerai žinomos programuotojams. Pavyzdžiui, „IOException“ir jos subklasės yra tikrinamos išimtys, o kai programuotojas susiduria su prieiga prie failo ar jį modifikuoja, kompiliatorius patikrina, ar programuotojas rūpinasi visomis įmanomomis IOExceptions.

Kas yra vykdymo laiko išimtis?

Vykdymo laiko išimtys susideda iš java.lang. RuntimeException ir visų jos paklasių. Teoriškai kalbant, jie atlieka tą patį tikslą, kaip ir patikrintos išimtys, ir juos galima išmesti arba tvarkyti kaip patikrintas išimtis, tačiau kompiliatorius nevykdo jų tvarkymo. Todėl vykdymo laiko išimtys priklauso nepatikrintų išimčių šeimai. „NullPointerException“, „NumberFormatEception“, „ClassCastException“ir „ArrayIndexOutOfBoundsException“yra dažnos „Java“vykdymo laiko išimtys.

Kuo skiriasi patikrinta išimtis ir vykdymo laiko išimtis?

Nors ir patikrintos, ir vykdymo laiko išimtys yra nepageidaujamos programos vykdymo metu, jos turi skirtumų. Pažymėtą išimčių tvarkymą priverčia kompiliatorius, tačiau vykdymo laiko išimtys nėra. Todėl norint sudaryti kodą, reikia išmesti arba tvarkyti patikrintas išimtis, tačiau vykdymo laiko išimtims tokio reikalavimo nėra. Vadinasi, vykdymo laiko išimtys kartu su klaidomis priklauso nepatikrintoms išimčių kategorijoms.

Pažymėtų išimčių trūkumas yra tas, kad programuotojas turi tai tvarkyti, net jei ji nemoka. Taigi, jei programuotojas tiesiog išmeta naują išimtį, nevyniodamas originalo, pradinei išimčiai priklausantis kamino pėdsakas bus prarastas. Čia praverčia vykdymo laiko išimtys. Kadangi visos vykdymo laiko išimtys gali būti tvarkomos vienoje vietoje, todėl programuotojai gali parašyti mažiau kodo. Kita vertus, kadangi turi būti sugautos patikrintos išimtys, programuotojui nieko nestebina. Ji visada žinos, kuri pažymėta išimtis gali būti taikoma tam tikru metodu. Priešingai, be programuotojo žinios gali būti sukurtos įvairios vykdymo laiko išimtys.

Rekomenduojama: