⊗pyPmExcDTC 77 of 129 menu

Erinevat tüüpi erandite püüdmine Pythonis

Samas koodis võib olla vaja püüda erinevaid tüüpi erandeid.

Oletame, et peame püüdma erandi nulliga jagamisel. Sellise vea puhul tekib erand:

ZeroDivisionError: division by zero

Selle püüdmiseks tuleb erandi nimi kirjutada except plokki:

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

Olgu meil ka järjest:

lst = [1, 2, 3]

Kui panna try plokki kood teise potentsiaalse veaga, näiteks olematu elemendi väljatrükiga, siis erand, mida ei püütud except plokis, läheb edasi ja prinditakse konsooli. Mistõttu peatub koodi töö:

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

Sellise olukorra lahendamiseks tuleb igasse plokki panna vastav eranditüübi nimi. Lisame oma koodile erandi puuduva elemendi kohta:

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

Antud on järgmine kood:

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

Kirjutage kood, et püüda esitatud muutujates res1 ja res2 toimuvad erandid.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu