15:15 | 28.10.2010
Anonym
Článek popisuje výjimky a jejich zpracování v Javě. Článek dělí výjimky dle jejich typů na chyby, běhové výjimky a checked výjimky a vysvětluje na příkladech rozdíly těchto skupin.
Java pro začátečníky (14) – Výjimky
Doposud jsme tiše předpokládali, že v našich programech vše půjde dle plánu a nikdy nedojde k nějaké nepředvídané situaci. Pod takovouto situací si můžeme představit chyby programu způsobené programátorem – dělení nulou, sáhnutí mimo rozsah pole, pokus o volání metody na nullové referenci a podobně. Druhou skupinou pak mohou být neplatné uživatelské vstupy – pokud uživatel předá do kolonky věk řetězec, pokusí se uložit soubor někam, kam nemá přístup a jiné. Poslední skupinou jsou chyby mimo kontrolu a moc programátora – vyčerpání paměti, zásah operačního systému atd.
Při všech těchto situacích (a mnohých dalších) dojde k vyvolání výjimky, která způsobí okamžité přerušení vykonávání kódu a přechod vlákna do místa, kde je daná situace ošetřena. Pokud takové místo neexistuje, tak je toto vlákno ukončeno.
V našich programech máme prozatím pouze jedno vlákno. To znamená, že neošetření výjimky vyústí v ukončení celého programu. Sice se může zdát, že bychom se proto měli snažit program za každých okolností zachránit, ale není tomu tak. Obvykle je nejlepší nechat program ihned spadnout, dokud nedošlo k nenávratným škodám na datach, nežli později opravovat běsnění programu, který se dostal do stavu, se kterým jsme nepočítali.
Výjimky samotné jsou objekty, které dědí ze speciální hierarchie, jejímž kořenem je třída Throwable (dokumentace). Throwable dále rozšiřují třídy Error a Exception.
Zdroj: Algoritmy.net