Klíčový rozdíl – zaškrtnutá vs. nezaškrtnutá výjimka v Javě
Výjimkou je chyba běhu. Existují dva typy výjimek známé jako kontrolované a nekontrolované výjimky. Když dojde ke kontrolované výjimce, aplikace Java se připojí k externímu zdroji, jako je soubor, zařízení nebo databáze. Tyto výjimky kontroluje kompilátor. Některé příklady kontrolovaných výjimek jsou výjimka IO a výjimka FileNotFound. Když dojde k nekontrolované výjimce, aplikace není připojena k žádnému vnějšímu zdroji. Tyto výjimky kompilátor nekontroluje. Některé příklady nekontrolovaných výjimek jsou aritmetická výjimka a výjimka ArrayOutOfBound. Tento článek popisuje rozdíl mezi kontrolovanou a nekontrolovanou výjimkou v Javě. Klíčový rozdíl mezi kontrolovanou a nekontrolovanou výjimkou v Javě je ten, že kontrolovanou výjimku kontroluje kompilátor, zatímco nekontrolovanou výjimku kompilátor nekontroluje.
Co je zaškrtnutá výjimka v Javě?
Když dojde ke kontrolované výjimce, aplikace Java je připojena k externímu zdroji. Tímto prostředkem může být zařízení, jako je tiskárna. Může to být soubor nebo databáze. Proto jsou tyto výjimky kontrolovány kompilátorem. Výjimka IO je zaškrtnutá výjimka. Vyskytuje se v důsledku chyby v zařízení. Když aplikace přistupuje k souboru, který neexistuje, způsobí výjimku FileNotFound. Aplikace může být připojena k databázi, jako je MySQL, Oracle atd. pro ukládání dat. Pokud by došlo k chybě související s databází, jednalo by se o výjimku SQL. To jsou některé příklady kontrolovaných výjimek. Ve všech těchto případech je aplikace připojena k externímu zdroji. U zaškrtnutých výjimek je povinné výjimku zpracovat. Pokud není zpracována, správný tok programu bude ukončen a soubor třídy nebude vygenerován. Chybu lze ošetřit pomocí bloku try, catch.
Obrázek 01: Zpracování zaškrtnutých výjimek
Podle výše uvedeného čte FileReader data ze souboru. Soubor text1.txt v zadaném umístění neexistuje. Kód, který může udělit výjimku, je umístěn uvnitř bloku try. Zpráva, která se má vytisknout, je uvnitř záchytného bloku. Protože neexistuje žádný soubor s názvem text1.txt, způsobí to výjimku FileNotFoundException. Pomocí zpracování výjimek se zpráva vytiskne na obrazovku.
Co jsou nekontrolované výjimky v Javě?
Nezaškrtnuté výjimky kompilátor nekontroluje. Na rozdíl od zaškrtnutých výjimek s nekontrolovanými výjimkami není aplikace Java připojena k vnějšímu prostředku, jako je soubor, databáze nebo zařízení. Některé běžné nekontrolované výjimky jsou Aritmetika, ArrayOutOfBound a NullPointer Exceptions.
int a=10, b=0;
int div=a/b;
System.out.println(div);
To způsobí aritmetickou výjimku kvůli potápění „a“o nulu. Viz níže uvedený kód.
Obrázek 02: Zpracování aritmetických výjimek
Podle výše uvedeného programu je proměnná a celočíselná hodnota. Proměnná b je 0. Dělení těchto dvou čísel je dělení nulou. Proto způsobí aritmetickou výjimku. Lze to zvládnout pomocí bloku try-catch. Příkazy, které mohou způsobit výjimku, jsou umístěny uvnitř bloku try. Zpráva, která se má zobrazit, je v bloku catch.
Odkaz na níže uvedenou část kódu.
int array1={1, 2, 3, 4, 5};
System.out.println(pole1[5]);
To způsobí výjimku. Pole1 je pole s 5 prvky. Počáteční index pole je nula. Tisk hodnoty indexu 5th způsobí výjimku, protože je mimo rámec. Maximální index pole1 je 4.
Obrázek 03: Zpracování výjimek ArrayOutOfBound
Podle výše uvedeného programu má pole1 5 prvků. Tisk prvku s indexem 6 způsobí výjimku, protože je mimo vazbu. Maximální index, který lze uložit do pole1, je 5. Chybová zpráva se vytiskne provedením bloku catch.
Jaká je podobnost mezi zaškrtnutou a nezaškrtnutou výjimkou v Javě
Zaškrtnutá i nezaškrtnutá výjimka v Javě jsou typy výjimek v Javě
Jaký je rozdíl mezi zaškrtnutou a nezaškrtnutou výjimkou v Javě?
Checked vs. Unchecked Exception in Java |
|
Zkontrolovaná výjimka je chyba za běhu, kterou kontroluje kompilátor. | Nezkontrolovaná výjimka je chyba běhu, kterou kompilátor nezkontroluje. |
Výskyt | |
Když dojde ke kontrolované výjimce, aplikace Java je připojena k externímu zdroji, jako je soubor, zařízení nebo databáze. | Když dojde k nekontrolované výjimce, Java aplikace není připojena k vnějšímu zdroji. |
Příklady | |
IOException, FileNotFoundException, SQLException jsou některé příklady kontrolovaných výjimek. | Aritmetická výjimka, ArrayOutOfBoundException, NullPointerException jsou některé příklady nekontrolovaných výjimek. |
Shrnutí – zaškrtnutá vs. nezaškrtnutá výjimka v Javě
Výjimkou je událost, která přeruší provádění toku programu. Existují dva typy výjimek. Říká se jim kontrolované výjimky a nekontrolované výjimky. Tento článek popisuje rozdíl mezi zaškrtnutou výjimkou a nezaškrtnutou výjimkou. Rozdíl mezi kontrolovanou a nekontrolovanou výjimkou v Javě je ten, že kontrolovanou výjimku kontroluje kompilátor, zatímco nekontrolovanou výjimku kompilátor nekontroluje. Vzhledem k tomu, že výjimky ovlivňují správný tok provádění programu, je dobrou programátorskou praxí je zvládnout.