Zpracování výjimek
Zpracování výjimek je proces reagující na výskyt výjimek – neobvyklých nebo mimořádných stavů vyžadujících speciální zpracování – během prová dění programu. Obecně výjimka přeruší normální tok prová dění a spustí předem registrovaný obslužný program výjimek; podrobnosti o tom, jak se to provede, závisejí na tom, zda se jedná o hardwarovou nebo softwarovou výjimku a jak je softwarová výjimka implem entována.
Typy výjimek
Hardwarové výjimky jsou způsobeny hardwarovými zařízeními, jako je procesor nebo paměť. Typickými příklady hardwarových výjimek jsou:
Chyba stránky (chybný přístup k paměti)
Výjimka ochrany (pokus o přístup do chráněné oblasti paměti)
Výjimka neplatného op kódu (pokus o provedení neznámého příka zu)
Softwarové výjimky jsou způsobeny softwarovými chybami, jako je pokus o přístup k neplatnému ukazateli nebo pokus o dělení číslem nula. Typickými příklady softwarových výjimek jsou:
Chyba segmentační poruchy (neplatný přístup k paměti)
Chyba dereference na neplatný ukazatel (pokus o přístup k paměti pomocí neplatného ukazatele)
Výjimka dělení číslem nula (pokus o dělení číslem nula)
Zpracování výjimek
Zpracování výjimek je proces, kterým operační systém nebo běhový systém reaguje na výjimku. Zahrnuje následujíc í kroky:
1. Identifikace výjimky: Operační systém nebo běhový systém identifikuje typ výjimky, která nastala.
2. Hledání obslužného programu výjimek: Operační systém nebo běhový systém vyhledá obslužný program výjimek, k terý je registrován pro daný typ výjimky.
3. Přenos kontroly na obslužný program výjimek: Operační systém nebo běhový systém přenese kontrolu na obslužný program výjimek.
4. Zpracování výjimky: Obslužný program výjimek zpracuje výjimku, například:
Vypíše zprávu o chybě
Ukončí program
Pokusí se obnovit program
5. Návrat do normálního toku prová dění: Po zpracování výjimky se program v ideálním případě v rátí do normálního toku prová dění.
Použití zpracování výjimek
Zpracování výjimek se používá ke zpracování neočekávaných událostí, které mohou nastat během prová dění programu. Je užitečn é pro:
Zachycení a zpracování chyb a selhání hardwaru
Řešení chyb v kódu
Zajištění spolehlivosti a robustnosti programů
Výhody zpracování výjimek
Zpracování výjimek poskytuje řadu výhod, včetně:
Snížená složitost kódu: Odděluje zpracování chyb od normálního toku prová dění, což usnadňuje čtení a údržbu kódu.
Zvýš ená spolehli vost: Umožňuje programům reag ovat na neočeká vané události a potenciálně se zotavit z nich.
Snazší lad ě ní: Usnadňuje identifikaci a opravu chyb v kódu.
Zvýš ená přenositelnost: Pomáhá zajišťov at, aby programy mohly běžet na různých platformách bez nutnosti měnit kód pro zpracování výjimek.