⊗pyPmExcDTC 77 of 129 menu

Zachycování různých typů výjimek v Pythonu

V jednom a tom samém kódu může být potřeba zachytit různé typy výjimek.

Řekněme, že potřebujeme zachytit výjimku při dělení nulou. Při tomto typu chyby vzniká výjimka:

ZeroDivisionError: division by zero

Pro její zachycení je třeba název výjimky zapsat v bloku except:

try: print(1 / 0) except ZeroDivisionError: print('error: do not divide by zero')

Dále mějme seznam:

lst = [1, 2, 3]

Pokud v bloku try zadáme kód s jinou potenciální chybou, například s výpisem neexistujícího prvku, pak výjimka, nezachycená v bloku except, projde dál a vypíše se do konzole. Kvůli čemuž se zastaví běh kódu:

lst = [1, 2, 3] try: print(lst[4]) # vypíše IndexError: list index out of range except ZeroDivisionError: print('error: do not divide by zero')

Pro řešení této situace je třeba uvést v každém bloku název odpovídajícího typu výjimky. Přidejme do našeho kódu výjimku pro chybějící prvek:

try: print(lst[4]) except ZeroDivisionError: print('error: do not divide by zero') except IndexError: print('error: elem is not exist')

Je dán následující kód:

txt = '2' res1 = txt + 3 res2 = txt1

Napište kód pro zachycení výjimek představených v proměnných res1 a res2.

Č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