⊗pyPmExcDTC 77 of 129 menu

Különböző típusú kivételek elkapása Pythonban

Ugyanabban a kódban szükség lehet különböző típusú kivételek elkapására.

Tegyük fel, hogy el kell kapnunk a nullával való osztás kivételét. Ilyen típusú hiba esetén a következő kivétel keletkezik:

ZeroDivisionError: division by zero

Ahhoz, hogy ezt elkaphassuk, a kivétel nevét a except blokkban kell megadni:

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

Tegyük fel, hogy van egy listánk:

lst = [1, 2, 3]

Ha a try blokkban olyan kódot helyezünk el, amelyben más potenciális hiba is előfordulhat, például egy nem létező elem kiíratása, akkor az a kivétel, amelyet az except blokk nem kap el, tovább terjed és a konzolra íródik ki. Emiatt a kód működése leáll:

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

Ennek a helyzetnek a megoldásához meg kell adni minden blokkban a megfelelő típusú kivételek nevét. Adjuk hozzá a kódunkhoz a hiányzó elem utáni kivételt:

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

Adott a következő kód:

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

Írj kódot, hogy elkaphasd a res1 és res2 változókban megjelenő kivételeket.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás