⊗pyPmExcInr 74 of 129 menu

Úvod do výnimiek v Pythone

V tejto časti budú rozoberané výnimky v Pythone. Na začiatok je potrebné pochopiť, čo vlastne predstavujú.

Pri písaní akéhokoľvek programu vývojár implicitne predpokladá, že všetky použité programovo-technické mechanizmy budú fungovať korektne.

To však nie je vždy pravda. Pri prenose údajov cez sieť dôjde k prerušeniu spojenia a údaje k nám prichádzajú v nekorektnej podobe, alebo neprídu vôbec. Pri zápise súboru sa zistí, že miesto na pevnom disku, ktoré bolo pre nás pridelené, sa minulo, a súbor nemôže byť zapísaný. Pri čítaní súboru sa zistí, že taký súbor neexistuje a nemáme odkiaľ čítať. Pri tlači údajov na tlačiarni dôjde k prerušeniu kábla spájajúceho tlačiareň a počítač.

Všetky opísané situácie majú spoločnú podstatu: dôjde k nejakému zlyhaniu, ktoré vedie k nemožnosti alebo zbytočnosti dokončenia plánovanej operácie.

Existujú aj situácie, v ktorých dôjde k nejakej chybe, ktorá nie je zlyhaním. Napríklad, opýtate sa používateľa na jeho email, a on zadá email v nekorektnom formáte. Je jasné, že náš program nemôže pokračovať v spracovaní emailu, pretože je nekorektný. Ale napriek tomu to nie je výnimková situácia. Náš program môže situáciu sám opraviť: vypíše správu o chybe a používateľ zopakuje svoj vstup.

V skutočnosti je rozdiel medzi zlyhaním a nie zlyhaním veľmi nejasný. Udalosť, ktorú jeden program môže interpretovať ako výnimkovú situáciu, iný program môže interpretovať ako nejakú chybu, s ktorou môže narábať.

Kritériom je nasledovné: ak pri vzniku problému váš program môže pokračovať v vykonávaní toho, na čo je určený, tak to nie je výnimková situácia, a ak nemôže - tak áno, je to výnimka.

Napríklad, máme program, ktorý by sa mal opýtať na email používateľa. Ak používateľ zadal email v nekorektnom formáte - nie je to zlyhanie. Je to očakávaný problém a náš program sa bude pýtať používateľa na email toľkokrát, kým ho nezadá korektne.

Nech náš program, ktorý sa pýta na email, musí tento korektný email aj odoslať cez internet. Pritom sa zistí, že internet nefunguje. To je už problém: program žiadnym spôsobom nebude môcť odoslať údaje cez internet, ak internet nefunguje. Program napriek tomu môže pokračovať vo svojom vykonávaní: môže vypísať informáciu o probléme, zopakovať pokus o odoslanie po určitom čase, a tak ďalej. Ale tieto činnosti už nie sú úplne tým, na čo bol program určený, keďže hlavnú činnosť - odoslanie emailu - program nebude schopný vykonať.

Z toho dôvodu veľmi často interpretácia toho, aké správanie sa bude považovať za normálne, a aké za výnimkové, závisí od úloh, ktoré stoja pred programátorom.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť