Vyhadzovanie vlastných typov výnimiek v Pythone
Výnimky, ktoré sú v Pythone predvolené, nemusia vždy uspokojiť všetky naše potreby v rôznych situáciách. Preto je v Python vstavaná možnosť vytvárať výnimky vlastného typu.
Ak chcete vytvoriť výnimku, musíte deklarovať
špeciálnu triedu OOP pomocou kľúčového
slova class. Napravo od neho
sa napíše názov výnimky a za názvom
v okrúhlych zátvorkách - typ výnimky:
class Výnimka(typ výnimky):
pass
Vytvorme si vlastnú triedu ToBigLength
na zachytenie príliš dlhých zoznamov. Do
okrúhlych zátvoriek tejto triedy napíšme
typ výnimky, ktorú bude chytať.
Nech je to výnimka Exception.
V tele triedy môžeme zatiaľ napísať pass:
class ToBigLength(Exception):
pass
Vyskúšajme si prácu práve vytvorenej
výnimky. Aby sme to urobili, napíšme konštrukciu
try-except a našu výnimku
vyhoďme pomocou špeciálneho príkazu raise:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
Po vykonaní kódu sa vypíše:
'error: list is too big'
Vytvorte výnimku na zachytenie záporného čísla.
Vytvorte výnimku na zachytenie nuly.