Python

Výnimka hodu Pythonom

Výnimka hodu Pythonom

Počas vykonávania programu sa objaví výnimka, ktorá v dôsledku chyby zmení svoj normálny tok. Výnimka vzniká z dôvodu chyby. Hlavnou príčinou výnimky je logická chyba. Rovnako ako mnoho iných programovacích jazykov, aj Python poskytuje niekoľko zabudovaných výnimiek, t.j.e., ZeroDivisionError, ImportError, EOFError atď.; napríklad výnimka ZeroDivisionError sa vyvolá, keď sa číslo vydelí nulou. Výnimky Pythonu sú spracované príkazom try. Definujeme blok try a vložíme do tohto bloku zraniteľný kód, čo môže spôsobiť výnimku. Ďalej po bloku try definujeme blok okrem, ktorý sa bude zaoberať výnimkou. Okrem všetkých týchto zabudovaných výnimiek musíme niekedy naraziť alebo vyvolať výnimku, keď narazíme na konkrétnu situáciu. Vývojár Pythonu môže ľahko definovať používateľom definovanú výnimku. Používame zvýšiť kľúčové slovo na zvýšenie alebo zrušenie výnimky. Tento článok vysvetľuje príklady použitia zvýšeného počtu kľúčových slov v Pythone na vyvolanie výnimky.

Syntax

Syntax na vyvolanie výnimky je veľmi jednoduchá a to nasledovne:

Zvýšiť výnimku („ľubovoľná správa“)

Po napísaní kľúčového slova pre zvýšenie definujte svoju výnimku.

Príklad riešenia výnimiek

Po prvé, pozrime sa na príklad bloku try-except, ktorý hovorí, ako môžeme čeliť zabudovanej výnimke Pythonu, a potom uvidíme niekoľko príkladov vyhadzovania alebo zvyšovania výnimiek Pythonu. V príklade uvedenom nižšie sme vytvorili dve premenné. Hodnota druhej premennej sa rovná nule. Keď rozdelíme num1 na num2, vyvolá to „ZeroDivisionError“. Kód divízie spôsobí výnimku; preto je umiestnený vo vnútri bloku try. Blok okrem zachytí výnimku a vytlačí správu „Vyskytla sa neočakávaná chyba“.

#delarovanie číselnej premennej
num1 = 20
# deklarovanie premennej druhého čísla
num2 = 0
# implementácia bloku try
skúste:
výsledok = num1 / num2
okrem:
tlač („Vyskytla sa neočakávaná chyba“)

Výkon

Uveďte príklad výnimky

Poďme si teraz na príkladoch pochopiť, ako môžeme pomocou kľúčového slova Raise vyvolať alebo zvýšiť výnimku. V danom príklade vyvolávame výnimku, keď je číslo vydelené akýmkoľvek záporným číslom.

# deklarovanie premennej čísla
num1 = 20
# deklarovanie premennej druhého čísla
num2 = -10
if (num2<0):
# zvýšenie výnimky
zvýšenie výnimky („Číslo 2 by nemalo byť záporné číslo“)
inak:
výsledok = num1 / num2
tlač (výsledok)

Výkon

Výstup ukazuje, že je vyvolaná výnimka „Číslo 2 by nemalo byť záporné číslo“.

Môžeme tiež definovať typ chyby. Poďme sa na to pozrieť.

# deklarovanie premennej čísla
num1 = 20
# deklarovanie premennej druhého čísla
num2 = -10
if (num2<0):
# zvýšenie výnimky
zvýšiť TypeError ("Chyba záporného čísla")
inak:
výsledok = num1 / num2
tlač (výsledok)

Výkon

V danom príklade je definovaná chyba typu a na konzole sa vytlačí správa, že ide o chybu záporného čísla.

Pozrime sa na ďalší príklad uplatnenia výnimky Pythonu. Ak v danom príklade obsahuje zoznam ľubovoľnú neceločíselnú hodnotu, program vyvolá výnimku.

# deklarovanie zoznamu
my_list = [1,2,3,7.7, „xyz“]
#implementovanie cyklu for
pre i v mojom zozname:
#kontrola typu každej položky zoznamu
ak nie, typ (i) je int:
#hodiť výnimku, ak typ prvku nie je celé číslo
zvýšenie výnimky ("Zoznam obsahuje neceločíselnú hodnotu")
inak:
tlač (i)

Výkon

Záver

Výnimka mení normálny priebeh programu, pokiaľ ide o chybu. V Pythone môžeme vyvolať výnimku, ktorú definujú používatelia. Na vylúčenie výnimky používame zabudované kľúčové slovo raise v Pythone. Tento článok vysvetľuje príklad uvádzania výnimiek na trh.

Hry Najlepšie hry Oculus App Lab
Najlepšie hry Oculus App Lab
Ak ste vlastníkom náhlavnej súpravy Oculus, musíte byť informovaní o bočnom nakladaní. Sideloading je proces inštalácie neuloženého obsahu do náhlavne...
Hry Top 10 hier, ktoré sa dajú hrať na Ubuntu
Top 10 hier, ktoré sa dajú hrať na Ubuntu
Platforma Windows je jednou z dominujúcich platforiem pre hry kvôli obrovskému percentu hier, ktoré sa dnes vyvíjajú na natívnu podporu systému Window...
Hry 5 najlepších arkádových hier pre Linux
5 najlepších arkádových hier pre Linux
V dnešnej dobe sú počítače vážne stroje používané na hranie hier. Ak nemôžete dosiahnuť nové najvyššie skóre, budete vedieť, čo tým myslím. V tomto pr...