Python próba, kivéve: lépésről lépésre példák

Programozóként találkozhat olyan helyzetekkel, amikor a kódban hibák vagy kivételek léphetnek fel, ezért alapvető fontosságú, hogy megértse, hogyan kell kezelni a kódban előforduló különböző típusú hibákat. A hibák kezelése a kódolási ciklus döntő része. A Pythonban előforduló hibák kezelésének egyik gyakori módja a try-except technika.

A try-except technika egy try blokkból és egy kivétel blokkból áll. A try blokk tartalmazza azt a kódot, amely hibát vagy kivételt generálhat, és a kivétel blokk tartalmazza a kódot az ilyen hibák vagy kivételek kezelésére.

Python próba, kivéve: lépésről lépésre példák

Ha a kód probléma nélkül fut a try blokkon belül, a kivétel blokk kikerül. Ha azonban hiba vagy kivétel történik a try blokkon belül, akkor a kivétel blokkba írt kód lefut a probléma megoldására.

Ebben a cikkben megvitatjuk a Python try-expect blokkját, a kódírás során előforduló különböző típusú hibákat és kivételeket, valamint azt, hogy hogyan kezelhetjük ezeket a try-except utasításokkal.

Menjünk bele!

Tartalomjegyzék

Milyen típusú hibák vannak a Pythonban?

A Pythonban a hibák nagyjából két fő típusra oszthatók:

1. Szintaktikai hibák : Ezeket elemzési hibáknak is nevezik, amelyeket a kódban lévő helytelen nyelvtan okoz. A szintaktikai hibákat a Python értelmező észleli, és leállítja a program végrehajtását.

A következő egy

print("Hello, world!"

Ebben a példában hiányzik a záró zárójel, így a Python nem érti ezt az utasítást, ezért ez szintaktikai hiba.

Python próba, kivéve: lépésről lépésre példák

Kivételek : Kivételek akkor fordulnak elő, ha valami elromlik a program végrehajtása során, még akkor is, ha a kód szintaktikailag helyes. Ezek lehetnek logikai hibák vagy futásidejű hibák, például érvénytelen bemenetek vagy nullával való osztás.

A következő függvény egy példa a Python kivételére:

print(5 / 0)

Ez a kódsor ZeroDivisionError kivételt fog okozni, amely akkor történik, amikor megpróbál egy számot nullával osztani.

Python próba, kivéve: lépésről lépésre példák

A fenti képen látható, hogy kivétel történt, amikor 5-öt elosztottunk 0-val.

Most, hogy megértette, milyen kivételek léteznek a Pythonban, meglátjuk, hogyan kezelhetjük a kivételeket a Python Try-Except utasításával. Vessünk egy pillantást a Try and Except blokkok szintaxisára a Pythonban a következő részben.

Mi a Try and Except Block szintaxisa?

A függvény szintaxisa határozza meg, hogyan kell használni a függvényt a kódban, beleértve, hogy milyen argumentumokat vesz fel, és mit ad vissza.

Az alábbiakban felsoroltuk a try záradék és a blokk kivételével szintaxisát, valamint az else záradékot és végül a blokkokat.

1. A Try utasítás szintaxisa

A try utasítás lehetővé teszi egy kódblokk hibakeresését. Amikor kódot ír a try blokkba, a Python a program normál részeként hajtja végre.

A try utasítás használatához egyszerűen csatolja a kódot a try blokkba:

try: # Your code here

2. Az Except Clause szintaxisa

Az kivétel záradék kezeli azokat a hibákat, amelyek a try blokk végrehajtása során előfordulhatnak . Megadhatja az elkapni kívánt kivétel típusát, vagy általános kivételt használhat az összes kivétel kezelésére.

A következő szintaxis egy adott kivételtípust mutat:

try: # Your code here except ValueError: # Handle ValueError exception

A kivételosztályok általános vagy több kivételes kezeléséhez használhatja az alábbi szintaxist:

try: # Your code here except Exception: # Handle any exception

3. Az Else záradék/blokk szintaxisa

Az else záradék lehetővé teszi a kódblokk végrehajtását, ha nincs hiba a try blokkban.

Egy else záradék használatához helyezze azt a kivétel blokk mögé az alábbiak szerint:

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors

4. A Végül blokk szintaxisa

Az utolsó blokk lehetővé teszi a kód végrehajtását, függetlenül a try and kivéve blokkok eredményétől . Ez hasznos lehet olyan műveleteknél, amelyeket szeretne végrehajtani, függetlenül attól, hogy történt-e kivétel.

A Végül blokk használatához helyezze az else blokk mögé:

try: # Your code here except ValueError: # Handle ValueError exception else: # Code to execute when there are no errors finally: # Code to execute regardless of the result of the try and except blocks

A fenti szintaxis működés közbeni megjelenítéséhez egy példát tekintünk meg a kivételek kezelésére a Python try-except blokkjával.

Kivételek kezelése Try-Except segítségével Pythonban

Hiba esetén a Python rendszerint leáll, és hibaüzenetet generál. Több kivételt is kezelhet a try and kivéve blokk használatával.

Az alábbi példában a nullával való osztást kezeljük, amely korábban keletkezett, amikor 5-öt osztunk 0-val.

try: print(5 / 0) except ZeroDivisionError: print("You can't divide by zero!")

Ebben a kódban kivétel történik, de a program továbbra is fut, és kiírja a „Nem lehet nullával osztani!” ahelyett, hogy egy hibával megállna.

Python próba, kivéve: lépésről lépésre példák

A próba és kivétel blokkok használatával szabályozhatja a program menetét. Egyes kivételek kezelésével hasznos visszajelzést adhat a felhasználónak, és a program futását folytathatja, ha hiba jelenik meg.

A fenti példában láthatja, hogy a ZeroDivisionError beépített kivételt használtuk az eset kezelésére. Ehhez hasonlóan vannak más típusú beépített kivételek is.

Ha ismeri ezeket a kivételtípusokat, akkor eldöntheti, hogy melyik elvárást használja, ha hibába ütközik a Python-kódban, ezért vessünk egy pillantást néhány kivételre a következő részben.

Melyek a beépített kivételek típusai?

A Pythonban a kivételek a BaseException osztályból származó osztály példányai. Ha hibákat észlel, a Python kivételt állít fel. Számos beépített kivétel van, amelyekkel valószínűleg találkozni fog, miközben programokat ír Pythonban.

Nézzünk meg néhányat a leggyakoribbak közül:

  1. ZeroDivisionError: Ez akkor fordul elő, amikor megpróbál egy számot nullával osztani.

  2. NameError: Ez akkor jelenik meg, ha olyan változót vagy függvényt próbál meg használni, amely még nincs definiálva.

  3. ValueError : Akkor fordul elő, ha egy megfelelő típusú argumentumot ad át, de érvénytelen értékkel.

  4. TypeError : Ez akkor fordul elő, ha rossz adattípusú argumentumot ad át.

  5. FileNotFoundError : Akkor fordul elő, ha nem létező fájlt próbál megnyitni vagy hozzáférni.

  6. ImportError : Akkor jelenik meg, amikor olyan modult vagy csomagot próbál importálni, amely nem létezik vagy nem található.

További lényeges kivételek a következők:

  1. OverflowError: Ez a hiba akkor jelenik meg, ha a számítási eredmény túl nagy ahhoz, hogy megjeleníthető legyen.

  2. FloatingPointError: Ez akkor jelenik meg, ha egy lebegőpontos művelet meghiúsul.

  3. IndexError: Akkor fordul elő, ha olyan indexhez próbál hozzáférni, amely kívül esik egy sorozat tartományán (pl. lista vagy sor).

  4. KeyError: Akkor fordul elő, ha olyan kulcshoz próbál hozzáférni, amely nem létezik a szótárban.

  5. EOFError: Akkor jelenik meg, amikor a Python a fájlvéggel (EOF) találkozik a bemenet olvasása közben, általában read() hívásból.

  6. ArithmeticError: Szuperosztály az aritmetikai kivételekhez, mint például a ZeroDivisionError, OverflowError és a FloatingPointError.

Néha szükség lehet felhasználó által definiált kivételek használatára, például átadási utasításra egy olyan blokkban, ahol kivétel várható. Ezt megfontoltan kell megtenni, mert ez elnyomhat más kivételeket.

Megadtuk Önnek a fenti gyakori kivételes hibák listáját, hogy programként tudja használni.

Kérjük, vegye figyelembe, hogy a legtöbb kivétel elkapható és kezelhető, de ügyelni kell a legutóbbi hívás kezelésére, hogy elkerülje a többi kivételes eset beágyazott kezelését.

A következő részben a Python try-except blokkjával fogunk foglalkozni. Menjünk bele!

5 A Try-Except Block felhasználási esetei

A Try Except blokk az egyik széles körben használt hibakezelési technika. Az alábbiakban bemutatjuk a Python Try Except blokkjának néhány használati esetét:

1. Fájlkezelés a Try Except funkcióval

Amikor fájlokkal dolgozik, mindig fennáll annak a lehetősége, hogy a fájl nem létezik, vagy nem azon a helyen van, ahonnan a szkript megpróbálja elérni.

A következő kód kivételt jelent, amikor olyan fájlt próbálunk megnyitni, amely nincs jelen.

try: with open('file.txt', 'r') as file: print(file.read()) except FileNotFoundError: print('Sorry, this file does not exist.')

Ebben a kódban egy „file.txt” nevű fájlt próbálunk megnyitni és beolvasni. Ha a "file.txt" nem létezik, akkor kivétel történik, de a program leállítását jelző hiba helyett a "Sajnos ez a fájl nem létezik."

Python próba, kivéve: lépésről lépésre példák

2. Felhasználói bevitel kezelése Try Except funkcióval

A felhasználói bevitel egy másik terület, ahol gyakran előfordulnak kivételek. A felhasználók váratlan formátumban adhatnak meg adatokat, vagy olyan bevitelt adhatnak meg, amely kívül esik az elfogadható tartományon.

A következő példa bemutatja, hogyan kell kezelni a felhasználói bevitelt egy try-except blokkal:

try: age = int(input("Enter your age: ")) except ValueError: print("That's not a valid age. Please enter a number.")

Ebben a kódban arra kérjük a felhasználót, hogy adja meg életkorát. Ha olyasmit adnak meg, amit nem lehet egész számmá alakítani (például egy szót vagy betűt), akkor kivétel történik, de a program összeomlása helyett a következőt írja ki: „Ez nem érvényes kor. Kérjük, adjon meg egy számot.'

Python próba, kivéve: lépésről lépésre példák

3. Nem létező szótárkulcsok elérése

A Pythonban a szótár egy változtatható, rendezetlen , ahol minden kulcsnak egyedinek kell lennie.

Amikor olyan kulcshoz próbál hozzáférni, amely nem létezik a szótárban, a Python KeyError-t vet fel. Ezt a kivételt az alábbi példában látható módon a try and kivételével kezelheti:

dictionary = {"key1": "value1", "key2": "value2"} try: print(dictionary["key3"]) except KeyError: print("The key does not exist in the dictionary.")

Ebben a kódban a „key3” értékét próbálja kinyomtatni egy szótárból. Ha a „kulcs3” nem létezik a szótárban, akkor kivétel történik, de ahelyett, hogy a program hibával leállna, a „A kulcs nem létezik a szótárban” szöveget írja ki.

Python próba, kivéve: lépésről lépésre példák

4. Karakterlánc átalakítása egész számmá

Előfordulhat, hogy a-t egész számmá szeretné konvertálni. De ha a karakterlánc nem érvényes egész számot jelent, a Python ValueError-t fog felállítani.

Az eset kezelésére használhatja a try and kivételt:

try: num = int("hello") except ValueError: print("That string can't be converted to integer.")

Ebben az esetben a „hello” nem konvertálható egész számmá, ezért a Python ValueError-t vet fel, és kiírja a „Ez a karakterlánc nem konvertálható egész számmá.”

Python próba, kivéve: lépésről lépésre példák

5. Modul importálása

Amikor , lehetséges, hogy a modul nem létezik, vagy nincs telepítve. A Python ilyen esetekben importhibát vet fel.

Az eset kezeléséhez a következő kódot használhatja:

try: import some_module except ImportError: print("The module 'some_module' is not installed.")

A fenti példában, ha a „some_module” nincs telepítve, vagy nem létezik, a Python egy ImportError üzenetet vet fel, és kiírja a „A „some_module” modul nincs telepítve.

Python próba, kivéve: lépésről lépésre példák

Ha többet szeretne megtudni a kód írásáról Pythonban és az elvárások kezeléséről, tekintse meg a következő videót:

Ezután a kivételek kezelésének néhány bevált módszerét tekintjük át. Merüljünk el benne!

A kivételkezelés legjobb gyakorlatai

Ebben a részben felsoroltunk néhány bevált módszert a kivételek Try Except blokkal való kezeléséhez. Néhány bevált gyakorlat a kivételek kezelésére:

1. Legyen konkrét a kivételekkel

A kód írásakor kulcsfontosságú, hogy a kivételeket a lehető legpontosabban rögzítse. Ez azt jelenti, hogy ahelyett, hogy csak egy általános kivételnevet ragadna meg, a várt kivétel tényleges típusát kell megfognia.

Így pontosan tudni fogja, hogy milyen hiba történt, és megfelelően tudja kezelni.

2. Ne nyomd el a kivételeket

Amikor kivételekkel foglalkozik, kísértést érezhet, hogy csak egy kivételkezelővel fogja meg, és ne tegyen vele semmit. Ez általában rossz ötlet.

Ha hiba történik, az általában azért van, mert valamit javítani kell. Ha letiltja a kivételosztályt, a hiba észrevétlen marad, és később problémákat okozhat.

3. Használja a Végül a Cleanup Code-hoz

Néha van néhány kód, amelyet le kell futtatnia, függetlenül attól, hogy hiba történt-e vagy sem. Ez lehet például egy fájl bezárása vagy egyes erőforrások felszabadítása.

Ezekben az esetekben használhat végül blokkot. A Végül blokkban lévő kód mindentől függetlenül lefut, így remek hely a tisztítókód elhelyezéséhez.

try: # Some code here finally: # This code will run no matter what

4. Szükség esetén emelje ki a kivételeket

Előfordulhatnak olyan helyzetek, amikor tudatnia kell a kód felhasználójával, hogy valami hiba történt.

Ezekben az esetekben kivételt tehet. Ez azonnal leállítja a kód végrehajtását, és értesíti a felhasználót, hogy hiba történt.

if not valid_input: raise ValueError("Your input was not valid!")

Ezeknek a bevált módszereknek a megértése és megvalósítása robusztusabbá, könnyebben hibakereshetővé teszi a kódot, és megelőzi a váratlan összeomlásokat.

Végső gondolatok

Összefoglalva, a try and kivéve használatának ismerete a Pythonban nagyon sokat segít, ha kódot ír, és kivételekkel találkozik benne.

Lehetővé teszik, hogy a program zökkenőmentesen kezelje a hibákat, ahelyett, hogy hirtelen leállna. Ez egy módja annak, hogy kódja képes legyen kezelni a meglepetéseket, és továbbra is működjön.

Ráadásul a try and kivétel használatakor ez azt mutatja, hogy tényleg azon gondolkozol, hogy mi lehet a baj, és felkészülsz rá. Tehát szánjon időt ezen eszközök megtanulására – rendkívül hasznosak, ha Pythonban ír kódot!


Arány- és gyakorisági táblázatok Excelben

Arány- és gyakorisági táblázatok Excelben

Az Excel gyakorisági táblázataiban, valamint az aránytáblázatokban készültek. Nos, nézze meg, mik ezek, és mikor kell használni őket.

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

A DAX Studio és a Tabular Editor telepítése a LuckyTemplates alkalmazásban

Ismerje meg, hogyan töltheti le és telepítheti a DAX Studio és a Tabular Editor 3 alkalmazást, és hogyan konfigurálhatja őket a LuckyTemplates és az Excel programban való használatra.

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

LuckyTemplates alakzattérkép-vizualizáció a térbeli elemzéshez

Ez a blog tartalmazza a Shape Map vizualizációt a LuckyTemplates térbeli elemzéséhez. Megmutatom, hogyan használhatja hatékonyan ezt a vizualizációt annak funkcióival és elemeivel.

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

LuckyTemplates pénzügyi jelentések: az eredmények hozzárendelése a sablonokhoz minden egyes sorban

Ebben az oktatóanyagban egy egyedülálló ötletet mutatok be a pénzügyi jelentésekkel kapcsolatban, amely az eredmények hozzárendelését jelenti a LuckyTemplates-en belüli táblázatsablonok előre meghatározásához.

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

DAX-mértékek a LuckyTemplates-ben mértékelágazás használatával

Hozzon létre DAX-mértékeket a LuckyTemplates alkalmazásban meglévő mértékek vagy képletek használatával. Ezt nevezem mértékelágazási technikának.

A legerősebb funkcióhívás a LuckyTemplatesben

A legerősebb funkcióhívás a LuckyTemplatesben

Ebben a blogban fedezze fel a LuckyTemplates adatkészletet, a leghatékonyabb függvényhívást, amely M- és DAX-függvények ezreit juttatja a keze ügyébe.

Adatmodellezési technikák a DAX-mérések megszervezéséhez

Adatmodellezési technikák a DAX-mérések megszervezéséhez

A mai oktatóanyagban megosztok néhány adatmodellezési technikát a DAX-mérések jobb rendszerezéséhez a hatékonyabb munkafolyamat érdekében.

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

LuckyTemplates pénzügyi irányítópult: Teljes táblázat testreszabási tippek

A LuckyTemplates egy nagyszerű eszköz a pénzügyi jelentésekhez. Itt található egy oktatóanyag, amely bemutatja, hogyan hozhat létre személyre szabott táblázatokat a LuckyTemplates pénzügyi irányítópultjához.

A Power Query nyelvi folyamatának bevált gyakorlatai

A Power Query nyelvi folyamatának bevált gyakorlatai

Ez az oktatóanyag megvitatja a Power Query nyelvi folyamatot, és azt, hogyan segíthet zökkenőmentes és hatékony adatjelentések létrehozásában.

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

LuckyTemplates egyéni ikonok | PBI vizualizációs technika

Az egyik kedvenc technikámról fogok beszélni a LuckyTemplates egyéni ikonok körül, amely dinamikusan használja az egyéni ikonokat a LuckyTemplates vizualizációkban.