Co je zpracování výjimek?
Zpracování výjimek je běžná konstrukce programovacího jazyka, která umožňuje programům identifikovat a elegantně řešit chyby, s nimiž se mohou při spuštění setkat. Funguje tak, že při nalezení chyby změní tok programu z normálního spuštění na konkrétní sadu zmírňujících akcí. Programátor může vytvořit konkrétní sady akcí, které jsou vyvolány, když dojde k určitým chybám. Nalezení a zpracování výjimek není nutně fatální událostí programu; je někdy možné, aby provádění programu pokračovalo i po zpracování výjimek.
Při programování určitého kusu kódu je často možné přesně určit, kde je třeba zpracovat výjimky. V takovém případě má většina programovacích jazyků, včetně Java a C ++, specifická klíčová slova a řídicí struktury, které mohou být umístěny do kódu pro zpracování chyb. Tyto struktury dokážou zvládnout celou řadu chyb a při správné údržbě je často možné, aby programátor předvídal většinu možných chyb pro konkrétní část kódu.
Zpracování výjimek může být také užitečné pro analýzu vstupu. Například při analýze číselného vstupu lze okamžitě zjistit, zda je část dat nečíselná, pokud je nastaven správný testovací a výjimkový obslužný program. Dojde-li k výjimce, obsluha ji zachytí, což okamžitě sdělí programu, že vstup je neplatný. Další postup závisí na tom, jak je strukturován zbytek programu; může to skončit, nebo to může pokračovat a jednoduše ignorovat neplatný vstup.
Správné zpracování výjimek nezaručuje bezchybné provedení programu. Nezaručuje také, že program se zastaví po nalezení chyby a nezaručuje, že program bude pokračovat. Aby bylo možné správně zpracovat chyby, musí programátor používat zacházení s výjimkami ve spojení se zdravým rozumem a pečlivou pozorností k detailům. V ideálním případě správné zpracování chyb umožní programu vyhnout se nejzávažnějším typům chyb, jako je například neplatný přístup do paměti, a zároveň poskytovat informativní zprávy o opravitelných problémech, jako je neplatný vstup nebo neočekávané problémy s prováděním programu.
Zpracování výjimek zachycuje chyby zvané „doba běhu“; nezaručuje, že kód neobsahuje chyby ani chyby syntaxe. Zpracování chyb v kódu nezaručuje správnost kódu. Je možné, aby při zpracování chyb chyběly chyby v kódu, a dokonce i nejlepší zachytávání chyb je zřídka spolehlivé. Po dokončení ladění umožňuje přítomnost zpracování výjimek mnohem snazší údržbu kódu a případné budoucí ladění.