Úvod do spracovania výnimiek v Pythone
Výnimky sa riešia v pythone pomocou dvoch hlavných techník, jedná sa o tvrdenie a spracovanie výnimiek. V tejto kapitole sa budeme venovať technikám spracovania výnimiek pythonu
Akákoľvek udalosť, ktorá odkloní normálne vykonanie programového toku, sa nazýva výnimka. Skúste blok uchovávať možné kódy generujúce chyby. Usporiadať a riadiť tieto výnimky je proces vykonávaný blokom okrem, ktorý sa vkladá na konci každého skúšobného bloku. Jeden pokusový blok môže v určitom čase asociovať viac ako jednu výnimku, zatiaľ čo druhý blok spadá pod obvyklú časť toku programu. Celý kód, v ktorom nie je potrebná ochrana pokusu, sa umiestni do druhého bloku programu.
syntaxe:
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
Zoznam štandardných výnimiek
Výnimka: Všetky výnimky základnej triedy
StopIteration: keď ďalší spôsob iterátora neukáže žiadny objekt, táto výnimka sa vyvolá
SystemExit: Zdvíhané funkciou sys.exit ().
StandardError: Okrem StopIteration a SystemExit to funguje ako základná trieda pre všetky vstavané funkcie.
ArithmeticError: Pre všetky numerické chyby tieto výnimky fungujú ako základná trieda.
OverflowError: Pre číselný typ, ak výpočet prekračuje maximálnu možnú hodnotu, táto chyba sa zvýši.
FloatingPointError: Zlyhanie operácie float túto chybu vyhodí
ZeroDivisionError: Zvýšené, keď sa v kóde vyskytne delenie nulou
AssertionError: Ak príkaz assert zlyhá, táto chyba sa spustí
AttributeError: Ak priradenie alebo odkaz na atribút zlyhá, vyvolá to túto chybu
EOFErroR: Zvýšenie, keď už nie je dosiahnutý žiadny vstup z ktorejkoľvek funkcie a konca súboru
ImportError: Vyvolalo sa, zatiaľ čo sa nepodarilo importovať vyhlásenie.
KeyboardInterrupt: Zvýšenie, keď dôjde k prerušeniu vykonávania programu
LookupError: Všetky chyby vyhľadávania spadajú do tejto základnej triedy
IndexError: Zvýšenie, keď index nebol nájdený
KeyError: Zvýšenie, keď slovník nedrží uvedenú hodnotu kľúča
NameError: Vyrába sa pre chýbajúci identifikátor lokálne alebo globálne v programe
UnboundLocalError: Zvýšené, keď sa používa lokálna premenná bez priradenia akejkoľvek hodnoty.
EnvironmentError: Základná trieda pre chyby orientované na životné prostredie, ktoré sa vyskytujú mimo pythonu
IOError: Zvýšené, zatiaľ čo proces vstupu / výstupu bol neúspešný
SyntaxError: Všetky chyby zamerané na syntax pythonu sú riešené touto výnimkou
IndentationError: Nesprávne odsadenie povedie k takýmto chybám
SystemError: Stáva sa to v situácii, keď tlmočník nefunguje tak, ako sa očakávalo, ale táto chyba nespôsobí, že pythonov program prestane fungovať.
SystemExit: Keď pythonový tlmočník používa funkciu sys.exit (), vedie k tejto výnimke. Vďaka tomu sa kód nezvyčajne ukončí, ak sa s ním nebude správne zaobchádzať.
TypeError: Ak je operácia neplatná pre konkrétny typ údajov, zobrazí sa táto chyba
ValueError: Keď funkcia obsahuje platný argument typu, ale pre tento typ parametra bola zadaná nesprávna hodnota
RuntimeError: Ak niektorá z vyššie uvedených kategórií nie je splnená, táto chyba je vyvolaná
NotImplementedError: Vyvinuté, zatiaľ čo nefiguratívna metóda, ktorá sa chce uviesť do praxe v zdedenej triede, sa v skutočnosti nevykonáva. Usporiadať a riadiť tieto výnimky je proces vykonávaný blokom okrem, ktorý sa vkladá na konci každého skúšobného bloku.
Proces spracovania výnimiek v Pythone
- Výnimka s niekoľkými výnimkami
- S výnimkou doložky, ktorá nie je uvedená
- Okrem klauzuly s argumentmi
Nižšie sa budeme venovať procesu spracovania výnimiek v Pythone
1. Výnimka s viacerými výnimkami
To umožňuje viac ako jedno vyhlásenie okrem toho, ktoré je deklarované v jednej výnimke, a všetky tieto deklarované výnimky môžu byť vyvolané z tohto ustanovenia okrem.
syntaxe:
try: Code block1
except(Exception1(, Exception2(, …ExceptionN)))):
Executes when one among the exception happens
else: Executed when no exception is raised
2. S výnimkou doložky, bez výnimky
Tu je možné spracovať všetky výnimky vyvolané z bloku try.
syntaxe:
try:
Code block1
except:
Executes if any type of exception happens
else:
If there is no exception then execute this block
3. Okrem klauzuly s argumentmi
Skutočná príčina výnimky bude vyjadrená v hodnote argumentu
syntaxe:
try:
Code block1except
ExceptionType, Argument:
Argument value is printed here
4. Program spracovania výnimiek
syntaxe:
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"
záver
Každý programovací jazyk drží proces zvyšovania výnimky vždy, keď čelí neočakávanej sade situácií a python je jednou z nich, ktorá vytvára hlboké techniky na zvládanie týchto výnimiek, vďaka ktorým je silným základným programovacím jazykom stretávaným s programami.
Odporúčaný článok
Toto bol návod na spracovanie výnimiek Pythonu. Tu diskutujeme o štandardnom zozname výnimiek a spracovávame ich spolu so Syntaxou. Viac informácií nájdete aj v ďalších navrhovaných článkoch -
- Výhody Pythonu
- Python Frameworks
- Vzory v Pythone
- Kompilátory Python
- Spracovanie výnimiek vo VB.NET (príklady)
- Slovník v Pythone
- Udalosti VB.Net