⊗pyPmExcCt 75 of 129 menu

Kivételek elkapása Pythonban

A Pythonban más programozási nyelvekhez képest nagyon sok olyan helyzet van, amely kivételeket vált ki.

Nézzük meg ezeket részletesebben. Tegyük fel, hogy van egy listánk:

lst = [1, 2, 3]

Lépjünk rá egy nem létező listaelemre:

print(lts[4])

A kód végrehajtása után egy hiba (kivétel) jelenik meg:

IndexError: list index out of range

Ha azonban szeretnénk folytatni a munkát a kivétel kiírása nélkül, akkor el kell kapnunk azt a try-except szerkezettel. Ennek szintaxisa a következő:

try: # kivételt kiváltó kód except: # a hiba kezelése

A try blokkban azt a kódot kell elhelyezni, amely kivételt tartalmazhat. Ha véletlenül a kód végrehajtása során kivételes helyzet lép fel, akkor a kód végrehajtása nem áll le, hanem a except blokk kódjába ugrik. Ebben a blokkban kell megadni egy üzenetet, amely a lehető legpontosabban írja le a felmerült hiba lényegét.

Ha viszont a try blokk végrehajtása során egyetlen kivételes helyzet sem történt, akkor a hasznos kód egyszerűen végrehajtódik, és a except blokkból származó kód nem.

Kapjuk el a mi kivételünket, amikor egy nem létező listaelemre hivatkozunk. Ehhez a try blokkba helyezzük a potenciális hibát tartalmazó kódot. Az except blokkban pedig adjuk meg a 'error: elem is not exist' üzenet kiírását a konzolra:

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

A kód végrehajtása után a következő jelenik meg:

'error: elem is not exist'

A try-except szerkezet megismerése után a megírt kód stílusának meg kell változnia. Mostantól minden olyan helyet, ahol kivételes helyzet léphet fel, be kell burkolni a try blokkba, és az except blokkban pedig meg kell határozni a reakciót erre a kivételre.

Kérjen a felhasználótól két számot. Ossza el az egyiket a másikkal. Kapja el a nullával való osztás kivételes helyzetét.

Kérjen a felhasználótól egy számot. Keresse meg a szám négyzetgyökét. Kapja el a negatív szám gyökvonásából adódó kivételes helyzetet.

Adott egy lista. Kérjen a felhasználótól egy egész számot. Szerezze meg a lista azon elemét, amelynek sorszámát a felhasználó megadta. Kapja el azt a kivételes helyzetet, amely akkor következik be, ha a felhasználó a lista tartományán kívüli számot adott meg.

Adott a következő kód:

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

Mi a baj ezzel a kóddal? Javítsa ki a hiányosságait.

Adott a következő kód:

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

Mi a baj ezzel a kóddal? Javítsa ki a hiányosságait.

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