Razlika med napakami in izjemo v Javi

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 5 Maj 2024
Anonim
High Density 2022
Video.: High Density 2022

Vsebina


"Gladljivi" delujejo kot korenina hierarhije napak in izjem Java. "Napaka" je kritičen pogoj, ki ga ni mogoče obravnavati s kodo programa. "Izjema" je izjemna situacija, ki jo je mogoče obravnavati s kodo programa. Pomembna razlika med napako in izjemo je, da napaka nastane zaradi pomanjkanja sistemskih virov in izjema nastane zaradi vaše kode. Preučimo še druge razlike med napako in izjemo skupaj s primerjalno tabelo.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoNapakaIzjema
OsnovniNapaka je posledica pomanjkanja sistemskih virov.Izjema je zaradi kode.
ObnovitevNapaka ni mogoča.Izjema je izterljiva.
Ključne besedeProgramske kode ni mogoče obravnavati napake.Izjeme se obravnavajo s pomočjo treh ključnih besed "poskusi", "ulovi" in "vrzi".
Posledice
Ko je napaka odkrita, se bo program nenormalno ustavil.Kot je zaznana izjema, jo vržejo in ujamejo ključne besede "met" in "ulov".
Vrste Napake so razvrščene kot nepreverjena vrsta.Izjeme so razvrščene kot preverjene ali nepreverjene vrste.
Paket V Javi so napake opredeljene v paketu "java.lang.Error".V Javi so izjeme opredeljene v "java.lang.Exception".
PrimerOutOfMemory, StackOverFlow.Preverjene izjeme: NoSuchMethod, ClassNotFound.
Nenadzorovane izjeme: NullPointer, IndexOutOfBounds.


Opredelitev napake

Napaka"Je podrazred vgrajenega razreda" Throwable ". Napake so kritični pogoji, ki nastanejo zaradi pomanjkanja sistemskih virov, in jih ni mogoče obvladati s kodo programa. Napake ni mogoče odpraviti na noben način, ker jih ni mogoče ustvariti, vreči, ujeti ali odgovoriti. Napake nastanejo zaradi katastrofalne okvare, ki je običajno ne more rešiti vaš program.

Napake so vedno nenadzorovane, saj prevajalnik nima nobenega znanja o njenem nastanku. V okolju teka se vedno pojavijo napake. Napako je mogoče razložiti s pomočjo primera, program ima napako prelivanja sklada, napake v pomnilniku ali napake pri zruševanju sistema, tovrstne napake so posledica sistema. Koda ni odgovorna za take napake. Posledica napake je ta, da se program neobičajno prekine.

Opredelitev izjeme

"Izjema" je tudi podrazred vgrajenega razreda "Throwable". Izjeme so izjemne razmere, ki nastanejo v času izvajanja. V večini primerov so izjeme posledica kode našega programa. Toda izjeme lahko obravnava sam program, saj so izjeme nadomestljive. Izjeme se obravnavajo s pomočjo treh ključnih besed "poskusi", "ujami", "metaj". Sintaksa pisanja izjeme je:


poskusite {// tukaj napišite kodo} Ujeti (vrsta izjeme) {// tu napišite kodo}

V zgornji kodi je koda, zapisana v poskusnem bloku, koda, ki jo želite nadzorovati zaradi izjeme. Če se izjema pojavi v poskusnem bloku, se vrže s ključno besedo "vrže". Vrženo izjemo lahko ujame blok "catch" zgornje kode. "Vrsta izjeme" je vrsta izjeme, ki se je zgodila.

Z enostavnimi besedami lahko rečemo, da so napake, nastale zaradi nepravilne kode, imenovane izjeme. Na primer, če zahtevanega razreda ni mogoče najti ali zahtevanega načina ni mogoče najti. Te vrste izjem so posledica kode v programu; sistem ni odgovoren za tovrstne izjeme. Izjeme so razvrščene kot „preverjene“ in „nenadzorovane“. Nenadzorovane izjeme niso v poznavanju prevajalnika, saj se pojavljajo med izvajanjem, medtem ko ima prevajalnik znanje o preverjenih izjemah, kot jih zna prevajalnik v času prevajanja.

  1. Napake se pojavijo le, kadar so sistemski viri pomanjkljivi, medtem ko pride do izjeme, če ima koda težave.
  2. Napake ni mogoče obnoviti, medtem ko je izjemo mogoče odpraviti s pripravo kode za obdelavo izjeme.
  3. Napake ni mogoče nikoli obravnavati, izjemo pa lahko uporabite koda, če je koda, ki vrže izjemo, napisana znotraj bloka poskusi in ulova.
  4. Če se je zgodila napaka, bo program nenormalno zaustavljen. Po drugi strani pa, če pride do izjeme, bo program vrgel izjemo in se ravna z uporabo bloka poskusi in ulova.
  5. Napake so nenadzorovanega tipa, tj. Napake niso v znanju prevajalnikov, medtem ko je izjema razvrščena kot preverjena in nepreverjena.
  6. Napake so opredeljene v paketu java.lang.Error, medtem ko je izjema definirana java.lang.Exception.

Zaključek:

Izjeme so rezultati napak, ki so bile storjene pri kodiranju programa, napake pa so posledica nepravilnega delovanja sistema