Rozdíl mezi chybami a výjimkami v Javě

Autor: Laura McKinney
Datum Vytvoření: 2 Duben 2021
Datum Aktualizace: 5 Smět 2024
Anonim
Rozdíl mezi chybami a výjimkami v Javě - Technologie
Rozdíl mezi chybami a výjimkami v Javě - Technologie

Obsah


„Throwable“ slouží jako kořen pro hierarchii chyb a výjimek Java. „Chyba“ je kritický stav, který nelze zpracovat pomocí kódu programu. „Výjimka“ je výjimečná situace, kterou lze zvládnout pomocí kódu programu. Významný rozdíl mezi chybou a výjimkou je, že chyba je způsobeno nedostatkem systémových prostředků a výjimka je způsobeno vaším kódem. Pojďme studovat další rozdíly mezi chybami a výjimkami spolu s srovnávacím grafem.

  1. Srovnávací tabulka
  2. Definice
  3. Klíčové rozdíly
  4. Závěr

Srovnávací tabulka

Základ pro srovnáníChybaVýjimka
ZákladníChyba je způsobena nedostatkem systémových prostředků.Výjimka je způsobena kódem.
ZotaveníChyba je neodstranitelná.Výjimku lze obnovit.
Klíčová slovaNeexistuje žádný způsob, jak zpracovat chybu pomocí programového kódu.Výjimky se zpracovávají pomocí tří klíčových slov „try“, „catch“ a „throw“.
Důsledky
Jakmile je chyba detekována, program se neobvykle ukončí.Pokud je detekována výjimka, je odpovídajícím způsobem vyvolána a chycena pomocí klíčových slov „throw“ a „catch“.
Typy Chyby jsou klasifikovány jako nekontrolovaný typ.Výjimky jsou klasifikovány jako zaškrtnuté nebo nezaškrtnuté.
Balík V jazyce Java jsou chyby definovány jako balíček „java.lang.Error“.V Javě jsou výjimky definovány v „java.lang.Exception“.
PříkladOutOfMemory, StackOverFlow.Kontrolované výjimky: NoSuchMethod, ClassNotFound.
Nekontrolované výjimky: NullPointer, IndexOutOfBounds.


Definice chyby

Chyba“Je podtřída vestavěné třídy„ Throwable “. Chyby jsou kritické podmínky, které se vyskytují v důsledku nedostatku systémových prostředků, a nemohou být zpracovány kódem programu. Chyby nelze v žádném případě obnovit, protože nemohou být vytvořeny, hozeny, chyceny nebo odpovězeny. Chyby jsou způsobeny katastrofickým selháním, které váš program obvykle nedokáže vyřešit.

Chyby jsou vždy nekontrolovaného typu, protože kompilátor nemá žádné znalosti o jeho výskytu. Chyby se vždy vyskytují v run-time prostředí. Chyba může být vysvětlena pomocí příkladu, program má chybu přetečení zásobníku, nedostatek paměti nebo selhání systému, tato chyba je způsobena systémem. Za tyto chyby neodpovídá kód. Důsledkem výskytu chyby je, že se program neobvykle ukončí.


Definice výjimky

„Výjimka“ je také podtřídou vestavěné třídy „Throwable“. Výjimkou jsou výjimečné podmínky, které se vyskytují v runtime prostředí. Výjimky jsou většinou způsobeny kódem našeho programu. Výjimky však může zpracovat samotný program, protože výjimky jsou obnovitelné. Výjimky se zpracovávají pomocí tří klíčových slov „try“, „catch“, „throw“. Syntaxe zápisu výjimky je:

zkuste {// napište zde kód} Úlovek (typ výjimky) {// napište zde kód}

Ve výše uvedeném kódu je kód zapsaný do bloku try kód, který chcete sledovat pro výjimku. Pokud výjimka nastane v bloku try, je vyvolána pomocí klíčového slova „throw“. Vyvolenou výjimku lze zachytit blokem „catch“ výše uvedeného kódu. „Typ výjimky“ je typ výjimky, ke které došlo.

Jednoduše řečeno lze říci, že chyby, ke kterým došlo v důsledku nesprávného kódu, se nazývají výjimky. Například pokud není nalezena požadovaná třída nebo není nalezena požadovaná metoda. Tyto druhy výjimek jsou způsobeny kódem v programu; systém není zodpovědný za tyto druhy výjimek. Výjimky jsou klasifikovány jako „zaškrtnuté“ a „nezaškrtnuté“. Nekontrolované výjimky nejsou o kompilátoru známy, protože se vyskytují během běhu, zatímco kompilátor má znalosti o kontrolovaných výjimkách, protože jsou kompilátoru známy během kompilace.

  1. K chybě dochází pouze v případě nedostatku systémových prostředků, zatímco výjimka je způsobena, pokud má kód nějaký problém.
  2. Chyba nelze nikdy obnovit, zatímco výjimku lze obnovit přípravou kódu pro zpracování výjimky.
  3. Chyba nemůže být nikdy zpracována, ale výjimka může být zpracována kódem, pokud je kód vyvolávající výjimku zapsán do bloku try a catch.
  4. Pokud dojde k chybě, program bude ukončen neobvykle. Na druhé straně, pokud dojde k výjimce, program vyvolá výjimku a je zpracována pomocí bloku try a catch.
  5. Chyby jsou nekontrolovaného typu, tj. Chyby nejsou ve znalostech kompilátorů, zatímco výjimka je klasifikována jako zkontrolovaná a nekontrolovaná.
  6. Chyby jsou definovány v balíčku java.lang.Error, zatímco výjimka je definována java.lang.Exception.

Závěr:

Výjimkou jsou výsledky chyb v kódování programu a chyby jsou důsledkem nesprávného fungování systému