⊗pyPmExcCt 75 of 129 menu

Zachytávanie výnimiek v Python

V Pythone v porovnaní s inými programovacími jazykmi existuje veľmi veľa situácií, ktoré spôsobujú výnimky.

Poďme si ich podrobnejšie rozobrať. Majme zoznam:

lst = [1, 2, 3]

Prístup k neexistujúcemu prvku zoznamu:

print(lts[4])

Po vykonaní kódu sa zobrazí chyba (výnimka):

IndexError: list index out of range

Ak potrebujeme pokračovať v práci bez zobrazenia výnimky, mali by sme ju zachytiť pomocou konštrukcie try-except. Má nasledujúcu syntax:

try: # kód, ktorý spôsobuje výnimku except: # spracovanie chyby

V bloku try by mal byť umiestnený kód, ktorý môže obsahovať výnimku. Ak pri vykonávaní tohto kódu dôjde k výnimočnej situácii, vykonávanie kódu sa nezastaví, ale prejde do kódu bloku except. V tomto bloku by sa mal uviesť výpis správy, ktorý čo najpresnejšie popisuje podstatu nastalej chyby.

Ak pri vykonávaní bloku try nastane nejaká výnimočná situácia, užitočný kód sa jednoducho vykoná a kód z bloku except - nie.

Poďme zachytiť našu výnimku pri prístupe k neexistujúcemu prvku zoznamu. Pre toto v bloku try umiestnime kód s potenciálnou chybou. A v bloku except zadajme výpis do konzoly správy 'error: elem is not exist':

lst = [1, 2, 3] try: print(lst[4]) except: print('error: elem is not exist')

Po vykonaní kódu sa vypíše:

'error: elem is not exist'

Po preštudovaní konštrukcie try-except by sa mal zmeniť štýl vášho napísaného kódu. Teraz všetky miesta, kde môže nastať výnimočná situácia, treba obaliť do try a v bloku except uviesť reakciu na túto výnimku.

Opýtajte sa používateľa na dve čísla. Vydeľte jedno druhým. Zachyťte výnimočnú situáciu delenia nulou.

Opýtajte sa používateľa na číslo. Nájdite druhú odmocninu z tohto čísla. Zachyťte výnimočnú situáciu odmocňovania záporného čísla.

Daný zoznam. Opýtajte sa používateľa na celé číslo. Získajte prvok zoznamu, ktorého index zadal používateľ. Zachyťte výnimočnú situáciu, ktorá nastane, ak používateľ zadal číslo mimo rozsahu zoznamu.

Daný nasledujúci kód:

num = '5' res = num + 2 print(res)

Čo je nesprávne s týmto kódom? Opravte jeho nedostatky.

Daný nasledujúci kód:

lst = [1, 2, 3, 4] def getElem(iter): print(iter[4]) getElem(lst)

Čo je nesprávne s týmto kódom? Opravte jeho nedostatky.

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ť