Rozdiel medzi chybami a výnimkami v Jave

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 6 Smieť 2024
Anonim
Rozdiel medzi chybami a výnimkami v Jave - Technológie
Rozdiel medzi chybami a výnimkami v Jave - Technológie

Obsah


„Throwable“ slúži ako koreň pre hierarchiu chýb a výnimiek Java. „Chyba“ je kritický stav, ktorý nie je možné vyriešiť pomocou kódu programu. „Výnimka“ je výnimočná situácia, ktorú je možné vyriešiť pomocou kódu programu. Významný rozdiel medzi chybou a výnimkou je, že chyba je spôsobená nedostatkom systémových prostriedkov a výnimka je spôsobená kvôli vášmu kódu. Pozrime sa na ďalšie rozdiely medzi chybou a výnimkou spolu s porovnávacou tabuľkou.

  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnanieChybavýnimka
základnéChyba je spôsobená nedostatkom systémových prostriedkov.Výnimka je spôsobená kódom.
zotavenieChyba je neodstrániteľná.Výnimku je možné vrátiť.
Kľúčové slováNeexistuje žiadny prostriedok na zvládnutie chyby pomocou programového kódu.Výnimky sa riešia pomocou troch kľúčových slov „try“, „catch“ a „throw“.
dôsledky
Keď sa zistí chyba, program sa neobvykle ukončí.Ak sa zistí výnimka, zodpovedajúcim spôsobom sa zahodí a chytí kľúčovými slovami „throw“ a „catch“.
druhy Chyby sú klasifikované ako nekontrolované typy.Výnimky sú klasifikované ako začiarknuté alebo nekontrolované.
balíček V Java sú chyby definované ako balíček „java.lang.Error“.V Java sú výnimky definované v java.lang.Exception.
príkladOutOfMemory, StackOverFlow.Kontrolované výnimky: NoSuchMethod, ClassNotFound.
Nekontrolované výnimky: NullPointer, IndexOutOfBounds.


Definícia chyby

Chyba“Je podtrieda vstavanej triedy„ Throwable “. Chyby sú kritické podmienky, ktoré sa vyskytujú v dôsledku nedostatku systémových prostriedkov, a nemôžu sa vyriešiť pomocou kódu programu. Chyby nie je možné žiadnym spôsobom obnoviť, pretože ich nemožno vytvárať, hádzať, chytiť alebo odpovedať. Chyby sú spôsobené katastrofickým zlyhaním, ktoré váš program zvyčajne nedokáže vyriešiť.

Chyby sú vždy nekontrolovaného typu, pretože kompilátor nemá žiadne informácie o jeho výskyte. Chyby sa vyskytujú vždy v run-time prostredí. Chyba môže byť vysvetlená pomocou príkladu, program má chybu preplnenia zásobníka, nedostatok pamäte alebo zlyhanie systému, tento druh chyby je spôsobený systémom. Kód nezodpovedá za takéto chyby. Dôsledkom výskytu chyby je, že program sa neobvykle ukončí.


Definícia výnimky

„Výnimka“ je tiež podtriedou zabudovanej triedy „hoditeľnej“. Výnimkou sú výnimočné podmienky, ktoré sa vyskytujú v runtime prostredí. Výnimky sú väčšinou spôsobené kódom nášho programu. Výnimky však môže vyriešiť aj samotný program, pretože výnimky je možné obnoviť. Výnimky sa riešia pomocou troch kľúčových slov „vyskúšať“, „chytiť“ a „hodiť“. Syntax písania výnimky je:

skúste {// tu napísať kód} Úlovok (typ výnimky) {// sem napíšte kód}

Vo vyššie uvedenom kóde je kód napísaný v bloku try kód, ktorý chcete monitorovať kvôli výnimke. Ak sa výnimka vyskytne v bloku vyskúšania, vyvolá sa pomocou kľúčového slova „throw“. Vyhodenú výnimku môže chytiť blok „výlovu“ vyššie uvedeného kódu. „Typ výnimky“ je typ výnimky, ktorá sa vyskytla.

Jednoducho povedané, môžeme povedať, že chyby, ku ktorým došlo v dôsledku nesprávneho kódu, sa nazývajú výnimky. Napríklad, ak požadovaná trieda nie je nájdená alebo požadovaná metóda nie je nájdená. Tieto druhy výnimiek sú spôsobené kódom v programe; systém nie je zodpovedný za tieto druhy výnimiek. Výnimky sú klasifikované ako „kontrolované“ a „nekontrolované“. Nekontrolované výnimky nie sú o kompilátore známe, pretože sa vyskytujú počas behu programu, zatiaľ čo kompilátor má znalosti o kontrolovaných výnimkách, pretože sú známe kompilátoru počas kompilácie.

  1. K chybe dôjde iba vtedy, keď sú systémové prostriedky nedostatočné, zatiaľ čo výnimka je spôsobená, ak má kód nejaký problém.
  2. Chyba sa nedá nikdy obnoviť, zatiaľ čo výnimku je možné obnoviť pomocou prípravy kódu na zvládnutie výnimky.
  3. Chyba sa nikdy nedá vyriešiť, ale výnimku možno vyriešiť kód, ak sa kód vyvolávajúci výnimku zapíše do bloku try a catch.
  4. Ak sa vyskytne chyba, program sa ukončí nezvyčajne. Na druhej strane, ak dôjde k výnimke, program vyvolá výnimku a zaobchádza sa s ňou pomocou bloku try a catch.
  5. Chyby sú nekontrolovaného typu, t. J. Chyby nie sú známe v kompilátoroch, zatiaľ čo výnimka sa klasifikuje ako skontrolovaná a nekontrolovaná.
  6. Chyby sú definované v balíku java.lang.Error, zatiaľ čo výnimka je definovaná java.lang.Exception.

záver:

Výnimky sú výsledkom chýb v kódovaní programu a chyby sú výsledkom nesprávneho fungovania systému.