Priporočena, 2024

Izbira Urednika

Razlika med preverjenimi in nenadzorovanimi izjemami v Javi

“Throwable” je nadrejeni razred razredov Error and Exception. Razred »RuntimeException« in njegovi podrazredi, razred »Napaka« in njegovi podrejeni razredi so »Nepreverjene izjeme«, medtem ko so preostali podrazredi razreda »Izjema« razen »RuntimeException« preverjene izjeme. Osnovna razlika med preverjenimi in nenadzorovanimi izjemami je, da preverjene izjeme preveri prevajalnik, medtem ko prevajalnik ne preverja neregistriranih izjem .

Razpravljamo o drugih razlikah med preverjenimi in nenadzorovanimi izjemami s pomočjo primerjalne tabele.

Primerjalna tabela

Podlaga za primerjavoPreverjena izjemaNepreklicano izjemo
OsnovnoPrevajalnik preveri preverjeno izjemo.Prevajalnik ne preveri izjeme Neprepisano.
Razred izjemeRazen razreda "RuntimeException" vsi otroci razredov razreda "Izjema", in "Error" razred in njegovi otroci razredi so Checked Exception.Razred "RuntimeException" in njegovi podrejeni razredi so "Nepreverjene izjeme".
RavnanjeČe ne obravnavamo preverjene izjeme, potem prevajalnik objektov.Tudi če ne obravnavamo izredne izjeme, prevajalnik ne nasprotuje.
KompilacijaProgram se ne prevede, če je v programski kodi neobdelana preverjena izjema.Program se uspešno prevede, tudi če v programski kodi obstaja neobvladana izjema.

Opredelitev izločene izjeme

Preverjene izjeme so tiste izjeme, ki jih prevajalnik preveri za nemoteno izvajanje programa. Prevajalnik preveri, ali program lahko obravnava preverjeno izjemo ali ne. Če koda ne more obdelati izjeme, pride do napake pri prevajanju. Vsi podrazredi razreda »Izjema«, razen razreda RuntimeException, so preverjene izjeme.
Preglejmo preverjeno izjemo z zgledom.

 uvoz java.io. *; class Primer {javni statični void main (String args []) {FileInputStream fis = null; fis = novo FileInputStream ("B: /file.txt"); // Ta konstruktor FileInputStream (File filename) vrže FileNotFoundException, ki je preverjena izjema. int k; while ((k = fis.read ())! = -1) {// Metoda read () razreda FileInputStream prav tako vrže preverjeno izjemo: IOException. System.out.print ((char) k); } fis.close (); // Metoda close () zapre vhodni tok datoteke, ki ga vrže IOException. }} 

V zgornji kodi poskušamo odpreti, prebrati in prikazati vsebino datoteke. Lahko se zgodi, da datoteka ni prisotna, potem se bo pojavilo FileNotFoundException, ki je preverjena izjema. Če preverjena izjema ni obdelana, prevajalnik ne bo omogočil gladkega prevajanja programa. Prikazal se bo časovna napaka pri prevajanju. Torej, za nemoteno zbiranje, mora biti preverjena izjema ujeta ali deklarirana, da se vrne.

Opredelitev nenadzorovanega izjeme

Nepreverjene izjeme so tiste izjeme, ki jih prevajalnik ne preveri. Prevajalnik program uspešno združi, tudi če z izjemo ne ravna s kodo. Razred »Napaka« in njegovi podrejeni razredi, razred »Runtime« in njegovi podrazredi so nenadzorovane izjeme.

Poglejmo primer nepreverjene izjeme.

 razred Primer {javni statični void main (String args []) {int arr [] = {1, 2, 3, 4, 5}; System.out.println (arr [7]); // ArrayIndexOutOfBoundsException. }} 

V zgornji kodi lahko vidite, da obstaja ArrayIndexOutOfBoundsException, ker poskušam dostopati do elementa, ki ne obstaja. Ker je to izjema, ki ni nekontrolirana, se napaka pri prevajanju ne bo pojavila in datoteka se bo prevedla brez napak. Toda program se ne bo izvajal, dokler se ne obravnava izjema. Za nemoteno izvedbo morajo biti izjeme ujete ali razglašene za vržene

Ključne razlike med preverjenimi in nenadzorovanimi izjemami

  1. Preverjene izjeme so v poznavanju prevajalnika, medtem ko nepreverjene izjeme niso v znanju prevajalnika.
  2. Razen razreda RuntimeException in Error vse klase so preverjene izjema. Po drugi strani pa so razredi RuntimeException in Error nepotrjene izjeme.
  3. Če preverjene izjeme niso obdelane s kodo, potem prevajalnik objektov. Po drugi strani pa, če ne obdelamo neregistriranih izjem v kodi, prevajalnik ne ugovarja.
  4. Če se v kodi pojavijo preverjene izjeme, se koda ne bo prevedla, čeprav nepreverjene izjeme ne bodo obdelane s kodo, prevajalnik še vedno pripravi kodo.

Opomba :

Med izvajanjem se obvezno pojavita tako preverjena ali nepreverjena izjema. Prevajalnik jih med prevajanjem lahko preveri ali prekliče.

Sklep:

Tako preverjene kot nepreverjene izjeme je treba obravnavati, da se program izvede brez težav.

Top