Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке
⊗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