Bacanje sopstvenih tipova izuzetaka u Python-u
Izuzetci koji su podrazumevano prisutni u Python-u ne mogu uvek da zadovolje sve naše potrebe u različitim situacijama. Stoga je u Python ugrađena mogućnost kreiranja izuzetaka sopstvenog tipa.
Da bismo kreirali izuzetak, potrebno je da deklarišemo
specijalnu OOP klasu pomoću ključne
reči class. Desno od nje
se upisuje ime izuzetka, a posle imena
u okruglim zagradama - tip izuzetka:
class Izuzetak(tip izuzetka):
pass
Hajde da kreiramo sopstvenu klasu ToBigLength
za hvatanje predugačkih lista. U
okruglim zagradama ove klase upisaćemo
tip izuzetka koji će ona da hvata.
Neka to bude izuzetak Exception.
U telu klase za sada možemo da upišemo pass:
class ToBigLength(Exception):
pass
Hajde da proverimo rad upravo kreiranog
izuzetka. Za to ćemo napisati konstrukciju
try-except, a naš izuzetak
bacićemo pomoću specijalne komande raise:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
Nakon izvršenja koda ispisaće se:
'error: list is too big'
Kreirajte izuzetak za hvatanje negativnog broja.
Kreirajte izuzetak za hvatanje nule.