Razlika med preverjeno in nepreverjeno izjemo

Ravnanje izjem v Javi je eden močnih mehanizmov za obravnavo določenih napak, ki se pojavljajo v kodnem zaporedju med izvajanjem. Izjema ni nič drugega kot napaka med izvajanjem, ki moti normalen tok aplikacije.

Običajno se pojavi v kosu kode in ko to stori, se ustvari predmet, ki predstavlja to izjemo in vržen v metodi, ki ga je povzročila. Zato je program ali aplikacija motena, zaradi česar se aplikacija nenormalno ustavi, kar ni priporočljivo. Zato je treba te izjeme obravnavati in tu se pojavi mehanizem za ravnanje z izjemami.

V Javi obstajata dve vrsti izjem - Preverjena in Nenadzorovana izjema. V tem članku bomo podrobno razpravljali o tem, kaj so preverjene in nepreverjene izjeme in kdaj jih uporabljati, in nazadnje bomo videli razliko med obema.

Kaj je preverjena izjema na Javi?

To so izjeme, ki se ob prevajanju preverjajo in obravnavajo. Java definira več razredov izjem znotraj standardnega paketa java.lang, najpogostejše izjeme pa so podrazredi standardnega tipa RuntimeException.

Tiste izjeme, ki se zgodijo na območjih, ki niso neposredno pod nadzorom programa, so znane kot preverjene izjeme. Če metoda meče preverjena izjema v času prevajanja, ki sama ne zmore, mora izjemo v a ulov blokira ali objavi izjemo z uporabo meče ključna beseda, sicer bo prišlo do napake pri sestavljanju. Prevajalnik preuči vrsto predmeta izjem za vsakega metati stavek in če se prikaže, je prevajalnik preveril izvorno kodo, da se prepriča, ali je izjema obravnavana v metodi, v kateri je vržena ali razglašena, tako da jo je mogoče obravnavati naprej.

Vse izjeme, ki jih opisuje Izjema ki so njene neposredne podrazrede, razen za RuntimeException se imenujejo preverjene izjeme. Kdaj uporabiti preverjeno izjemo? Uporabite lahko preverjeno izjemo, če točno veste, kaj morate storiti Izjema se zgodi ali ko so možnosti za neuspeh večje. Nekateri primeri preverjenih izjem v knjižnici Java vključujejo IOException, DataAccessException, IllegalAccessException, InterruptException, ClassNotFoundException, InvocationTargetException itd..

Kaj je nenadzorovana izjema v Javi?

To so izjeme, ki se v času prevajanja ne preverijo. Nenadzorovana izjema je pogoj, ki ponavadi odraža napake v logiki programa in ga ni mogoče obnoviti med izvajanjem.

Preprosto povedano, nenadzorovana izjema je izjema, ki ni zajeta v poskusite ujeti blok. Ni jih treba izrecno ujeti. Pravzaprav, ko pride do nenadzorovane izjeme, Java izjemo samodejno obdela. Nenadzorovane izjeme se večinoma pojavijo zaradi programskih napak, na primer pri dostopu do elementa zunaj vezave matrike ali dostopa do ničelnega predmeta. Na Javi so vse izjeme, ki jih je mogoče podvrstijo, preveriti izjeme, izjeme pa so neposredni podrazredi Napaka in RuntimeException so nenadzorovane izjeme.

Najboljši del nenadzorovane izjeme je, da ne zmanjša berljivosti kode, hkrati pa ohrani čist kode stranke. Nekateri primeri nenadzorovanih izjem vključujejo ArithmeticException, ClassCastException, NullPointerException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException itd..

Razlika med preverjeno in nepreverjeno izjemo

Opredelitev preverjene in nenadzorovane izjeme

Preverjena in nenadzorovana izjema sta dve vrsti izjem na Javi, ki zagotavljata normalen pretok aplikacije. Oba imata isti namen, kot da obravnavata izjeme na Javi in ​​čeprav ni razlike v funkcionalnosti, ni enotnega pravila, ki bi določilo, kdaj naj se uporablja preverjena in kdaj nenadzorovana izjema. Preverjena izjema je izjema, ki se preveri v času prevajanja, medtem ko je nenadzorovana izjema tista, ki se ne preveri v času prevajanja.

Osnove preverjene in nenadzorovane izjeme

Preverjena izjema se nanaša na neveljavne scenarije, ki se pojavijo zunaj neposrednega nadzora programa, medtem ko se nenadzorovana izjema nanaša na napake v programu ali napake v logiki programa, ki jih ni mogoče obnoviti med izvajanjem..

Ravnanje izjem

Če metoda vrže preverjeno izjemo, prevajalnik preveri, ali metoda obravnava to izjemo z uporabo bloka try-catch ali poda izjemo z uporabo ključne besede met. Če metoda ne zagotavlja kode za ravnanje, bo prikazala napako pri sestavljanju. Nasprotno, program se kompilira, ker prevajalnik ob prevajalnem pregledu ne preveri Neodprtih izjem.

Vzrok preverjene in nenadzorovane izjeme

Izjeme, ki ne izvirajo iz RunTimeException, se pogosto obravnavajo, medtem ko se izjeme med izvajanjem redko obravnavajo. Preverjena izjema se pojavi, kadar so možnosti za neuspeh previsoke. Po drugi strani se nenadzorovana izjema pojavlja predvsem zaradi programskih napak. Vse izjeme v razredih RuntimeException in Error so nenadzorovane izjeme, medtem ko so vse druge pod nadomestljivimi označenimi izjemami.

Primeri preverjene in nenadzorovane izjeme

Nekateri primeri preverjenih izjem so IOException, DataAccessException, IllegalAccessException, InterruptException, ClassNotFoundException in še več. Primeri nenadzorovanih izjem vključujejo NullPointerException, ArithmeticException, ArrayIndexOutOfBound, IllegalArgumentException, IllegalStateException, ArrayStoreException, SecurityException itd..

Preverjeno v primerjavi z nepreverjeno izjemo: primerjalna shema

Povzetek preverjene in nenadzorovane izjeme

Preverjena in nepreverjena izjema sta dve vrsti izjem na Javi. Čeprav je funkcionalnost za obe izjemi enaka, imata pravičen delež razlik. Glavna razlika med preverjenimi in nekontroliranimi izjemami je, da prvega preveri prevajalnik, medtem ko slednji umakne obvestilo prevajalnika. Izjeme, ki se v času prevajanja preverjajo in se obdelujejo v njih, so izjeme, medtem ko izjeme, ki se v času prevajanja ne preverijo in ne obravnavajo, so neoznačene izjeme. Ta članek razlaga, kaj je preverjeno in kaj je nenadzorovana izjema, kdaj jih uporabljati, in razloži razliko med obema.