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:

pythonclass 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:

pythonclass 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:

pythontry:
  raise ToBigLength
except ToBigLength:
  print('error: list is too big')

Nakon izvršenja koda ispisaće se:

python'error: list is too big'
Задание 1

Kreirajte izuzetak za hvatanje negativnog broja.

Задание 2

Kreirajte izuzetak za hvatanje nule.