
Video: Erinevus Kontrollitud Erandi Ja Käituse Erandi Vahel

2023 Autor: Mildred Bawerman | [email protected]. Viimati modifitseeritud: 2023-07-30 19:49
Kontrollitud erand vs käituse erand
Erandid on eritüüpi sündmused, mis võivad häirida programmi tavapärast voogu. Nimeerand pärineb „erakordsest sündmusest“. Erandi viskamine on protsess, mille käigus luuakse erandobjekt ja antakse see käitussüsteemile üle. Kui käitussüsteem saab erandobjekti, püüab ta leida kedagi, kes seda kõnepinu sees käitleks, läbides selle vastupidises järjekorras (milles meetodeid kutsuti). Käitusaja süsteem on edukas, kui ta leiab meetodi koos erandihalduriga. Erandite käitleja on koodiplokk, mis saab nimetatud erandit ametlikult käsitleda. Kui käitussüsteem leiab sobiva käitleja, edastab ta erandi objekti käitlejale. Seda nimetatakse erandi püüdmiseks. Kui aga erandiga ei saa hakkama, siis programm lõpetatakse. Java keeleserandid pärinevad klassist Throwable. Märgitud erandid on erandid, mille kompilaator sunnib käsitsema. Käitusaja erandid on teatud tüüpi erandid, mida kompilaator ei kontrolli.
Mis on kontrollitud erand?
Märgitud erandid on kas klassi java.lang.exception objektid või selle alamklassid (välja arvatud java.lang. RuntimeException ja selle alaklassid). Märgitud erandid "kontrollitakse" kompileerimise ajal. See tähendab, et programmeerija peab need erandid kas püüdma või viskama, muidu kompileeriks kaebusi (põhjustades kompilaatori viga). Seetõttu on paljud kontrollitud erandid programmeerijatele väga hästi teada. Näiteks IOException ja selle alamklassid on kontrollitud erandid ja alati, kui programmeerija tegeleb failile juurdepääsu või selle muutmisega, kontrollib kompilaator veendumaks, et programmeerija hoolitseb kõigi võimalike IOExceptsioonide eest.
Mis on käituse erand?
Käitusaja erandid koosnevad java.lang. RuntimeExceptionist ja kõigist selle alamklassidest. Teoreetiliselt võib öelda, et neil on sama eesmärk kui kontrollitud eranditel ja neid saab visata või käsitseda nagu kontrollitud erandeid, kuid kompilaator ei salli nende käitlemist. Seetõttu kuuluvad käitamisaja erandid kontrollimatute erandite hulka. NullPointerException, NumberFormatEception, ClassCastException ja ArrayIndexOutOfBoundsException on Java-s tavalised käitamiserandid.
Mis vahe on kontrollitud erandil ja käituse erandil?
Kuigi nii kontrollitud erandid kui ka käituse ajal kehtivad erandid on programmi käivitamisel soovimatud, on neil erinevusi. Kontrollitud erandite käitlemist sunnib kompilaator, kuid käitamise erandeid mitte. Seetõttu tuleb koodi kompileerimiseks visata kontrollitud erandid või neid käsitseda, kuid käitamiserandite osas sellist nõuet pole. Sellest tulenevalt kuuluvad käitamiserandid koos vigadega kontrollimata erandite kategooriasse.
Kontrollitud erandite puuduseks on see, et programmeerija peab sellega hakkama saama, isegi kui ta ei oska. Niisiis, kui programmeerija viskab uue erandi lihtsalt originaali pakkimata, kaotatakse algsele erandile kuuluv virnajälg. Siin tulevad käitusaja erandid kasuks. Kuna kõiki käitamiserandeid saab käsitleda ühes kohas, saavad programmeerijad vähem koodi kirjutada. Teisest küljest, kuna kontrollitud erandid tuleb tabada, pole programmeerijal mingit üllatust. Ta teab alati, millise kontrollitud erandi võiks teatud meetodiga visata. Vastupidiselt sellele võib programmeerija teadmata visata erinevaid käitamiserandeid.
Soovitatav:
Erinevus Erandi Ja Erandi Vahel

Erand vs erand Erand ja erand on kaks sõna, mis on sageli segi aetud nende vormide ja morfoloogia sarnasuse tõttu. Tegelikult on
Erinevus Katkestuse Ja Erandi Vahel

Katkestus vs erand Programmi tavapärase käivitamise ajal võivad igas arvutis esineda sündmusi, mis võivad põhjustada protsessori ajutise peatumise. Sündmused
Erinevus ümbersuunamise Ja Kontrollitud Vabastamise Vahel

Diversioon vs järelevalve all vabastamine Diversioon ja järelevalve all vabastamine on kaks kurjategijatega suhtlemise süsteemi. Maailmas on erinevaid õigussüsteeme
Kontrollitud Ja Kontrollimatu Ahelreaktsiooni Erinevus

Põhierinevus - kontrollitud vs kontrollimatu ahelreaktsioon Peamine erinevus kontrollitud ja kontrollimatute ahelreaktsioonide vahel on see, et kontrollitud ahel
Erinevus Java Kontrollitud Ja Kontrollimata Erandi Vahel

Põhierinevus - Java-s kontrollitud vs kontrollimata erand Erandiks on käitustõrge. On kahte tüüpi erandeid, mida nimetatakse kontrollituks ja kontrollimata