⊗pyPmExcInr 74 of 129 menu

Úvod do výjimečných situací v Pythonu

V této části budou probírány výjimečné situace v Pythonu. Nejprve je potřeba pochopit, co vlastně představují.

Při psaní jakéhokoli programu vývojář implicitně počítá s tím, že všechny použité softwarově-technické mechanismy budou fungovat korektně.

To však neplatí vždy. Při přenosu dat po síti dojde k přerušení spojení a data k nám přicházejí v nekorektní podobě, nebo nepřicházejí vůbec. Při zápisu souboru se ukáže, že vyhrazené místo na pevném disku je vyčerpáno, a soubor nelze zapsat. Při čtení souboru se ukáže, že takový soubor neexistuje a nemáme odkud číst. Při tisku dat na tiskárně dojde k přerušení kabelu spojujícího tiskárnu a počítač.

Všechny popsané situace mají společnou podstatu: dojde k nějaké poruše, která vede k nemožnosti nebo nesmyslnosti dokončení plánované operace.

Existují také situace, ve kterých dojde k nějaké chybě, která není poruchou. Například, zeptáte se uživatele na jeho email, a on zadá email v nekorektním formátu. Je jasné, že náš program nemůže pokračovat v zpracování emailu, protože není korektní. Ale přesto to - není výjimečná situace. Náš program může sám situaci napravit: vypíše chybovou zprávu a uživatel zopakuje svůj vstup.

Ve skutečnosti je rozdíl mezi poruchou a ne-poruchou velmi nejasný. Událost, kterou jeden program může interpretovat jako výjimečnou situaci, může jiný program interpretovat jako nějakou chybu, se kterou může poradit.

Kritérium je následující: pokud při vzniku problému může váš program pokračovat v provádění toho, pro co je určen, pak to není výjimečná situace, a pokud nemůže - pak ano, je to výjimka.

Například, máme program, který se má zeptat na email uživatele. Pokud uživatel zadal email v nekorektním formátu - to není porucha. Je to očekávaný problém a náš program se bude ptát uživatele na email tolikrát, dokud ho nezadá korektně.

Předpokládejme, že náš program, který se ptá na email, musí také tento korektní email odeslat přes internet. Přitom se ukáže, že internet nefunguje. To už je problém: program nemůže nijak odeslat data přes internet, pokud internet nefunguje. Program však přesto může pokračovat ve svém vykonávání: může vypsat informaci o problému, zopakovat pokus o odeslání po nějaké době, a tak dále. Ale tyto akce už nejsou úplně tím, pro co byl program určen, protože hlavní akci - odeslání emailu program provést nemůže.

Z toho důvodu velmi často záleží na úkolech, stojících před programátorem, jaký výklad toho, co se považuje za normální chování, a co za výjimečné.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout