Bevezetés a Python kivételkezelésbe
A kivételeket a pythonban két fő módszerrel kezelik, ezek állítások és kivételek kezelése. Ebben a fejezetben a python kivétel kezelésének technikáit tárgyaljuk
Minden olyan eseményt, amely eltéríti a programfolyamat normál végrehajtását, kivételnek nevezzük. Próbálja ki a blokkot, amelyben lehetséges a kódok generálása. Rendezés és az ezeknek a kivételeknek a kezelése a kivétel blokk által végrehajtott folyamat, amelyet minden egyes próbablokk végére beillesztünk. Egyetlen próbablokk egynél több kivételt társíthat egy adott időpontban, a másik blokk a szokásos programáramlási szakasz alá esik. Minden olyan kód, amelyre nincs szükség blokkoló védelemre, a program egyéb blokkjába kerül.
Szintaxis:
try: Executes when suspicious code is executed
except Exception1: Executed when
exception 1 is raised
except Exception2: Executed when exception 2 is raised
else: If there is no exception then execute this block
Szabványos kivételek listája
Kivétel: Minden kivétel alaposztálya
StopIteration: ha az iterator következő módszerével semmilyen tárgyat nem mutat meg, akkor ez a kivétel felmerül
SystemExit: Emelés a sys.exit () függvényen keresztül.
StandardError: A StopIteration és a SystemExit kivételével ez az összes beépített funkció alaposztálya.
ArithmeticError: Az összes numerikus hiba esetén ezek a kivételek alaposztályként működnek.
OverflowError: numerikus típus esetén, ha a számítás meghaladja a maximális lehetséges értéket, akkor ezt a hibát felveszi.
FloatingPointError: Az úszóművelet sikertelensége ezt a hibát indítja el
ZeroDivisionError: Emelkedett, amikor a kód nullával osztja a helyzetet
AssertionError: Ha az érvényesítési nyilatkozat sikertelen, akkor ezt a hibát váltja ki
AttributeError: Ha egy hozzárendelés vagy attribútumhivatkozás sikertelen, akkor felveszi ezt a hibát
EOFErroR: Emelés, amikor a függvény és a fájl vége egyikét sem érinti tovább
ImportError: Emelés, miközben a behozatali nyilatkozat sikertelen.
KeyboardInterrupt: Emelés, ha megszakadt a program végrehajtása
LookupError: Az összes keresési hiba ebbe az alaposztályba tartozik
IndexError: Emelés, ha az index nem található
KeyError: Emelkedik, ha a szótár nem tartja meg az említett kulcsot
NameError: Helyileg vagy globálisan hiányzik az azonosító miatt a programban
UnboundLocalError: Helyi változó használata esetén emelik, anélkül, hogy értéket rendelne hozzá.
EnvironmentError: A pythonon kívüli környezet-orientált hibák alaposztálya
IOError: Emelés, miközben a bemeneti / kimeneti folyamat sikertelen
SyntaxError: Az összes python szintaxisorientált hibát ez a kivétel kezeli
IndentationError: A helytelen behúzás ilyen típusú hibákat eredményez
SystemError: Ez akkor fordul elő, amikor az értelmező nem a várt módon működik, de ez a hiba nem teszi a python programot végrehajtásból
SystemExit: Ha a Python-értelmező a sys.exit () függvényt használja, akkor ez a kivételhez vezet. ez miatt a kód rendellenesen megszűnik, ha nem megfelelően kezelik.
TypeError: Ha egy művelet érvénytelen egy adott adattípusra, akkor erre a hibára szólít fel
ValueError: Ha egy függvény érvényes típusú argumentummal rendelkezik, de a típus argumentumának nem megfelelő értéke van megadva
RuntimeError: Ha a fenti kategóriák bármelyike nem teljesül, akkor ez a hiba felmerül
NotImplementedError: Emelés, míg egy nem- konfigurációs módszert, amelyet öröklött osztályban kell gyakorolni, valójában nem valósítják meg. Rendezés és az ezeknek a kivételeknek a kezelése a kivétel blokk által végrehajtott folyamat, amelyet minden egyes próbablokk végére beillesztünk.
Kivételkezelési folyamat Pythonban
- Kivétel több kivétellel
- Kivétel kivételével, kivétel nélkül
- Kivéve az érvekkel kapcsolatos záradékot
Az alábbiakban a Kivételkezelési folyamatot tárgyaljuk Pythonban
1. Kivéve a több kivételű záradékot
Ez lehetővé teszi, hogy egynél több nyilatkozatot egyetlen kivétellel deklaráljunk, kivéve a záradékot, és e kijelentések mindegyikét kivonhatjuk ebből a záradékból.
Szintaxis:
try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised
2. Kivétel nélkül, kivétel nélkül
A try blokk által kiváltott összes kivétel itt feldolgozható.
Szintaxis:
try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block
3. Kivéve az érvekkel kapcsolatos záradékot
A kivétel tényleges okát az argumentum értéke tartalmazza
Szintaxis:
try:
Code block1except
ExceptionType, Argument:
Argument value is printed here
4. Kivételkezelő program
Szintaxis:
try:
fh = open("testfile1", "w")
try:
fh.write("Exception handeling")
finally:
print "Going to close the file"
fh.close()
except IOError:
print "Error: can\'t find file or read data"
Következtetés
Minden programozási nyelv fenntartja a kivétel felállításának folyamatát, amikor váratlan helyzethelyzettel szembesül, és a python is egyike, amely mélyreható technikákat állít elő ezeknek a kivételeknek a kezelésére, és ez erős bázisú programozási nyelvet jelent.
Ajánlott cikk
Ez egy útmutató a Python kivételkezeléshez. Itt tárgyaljuk a szokásos kivételek listáját és a folyamatot a Szintaxis mellett. A további javasolt cikkeken keresztül további információkat is megtudhat -
- A Python előnyei
- Python keretek
- Minták Pythonban
- Python összeállítók
- Kivételkezelés a VB.NET-ben (példák)
- Szótár Pythonban
- VB.Net események