Бацање сопствених типова изузетака у Пајтону

Изузетци који су подразумевано присутни у Пајтону не могу увек задовољити све наше потребе у различитим ситуацијама. Због тога је у Пајтон уграђена могућност креирања изузетака сопственог типа.

Да бисте креирали изузетак, потребно је декларисати специјалну ООП класу користећи кључну реч class. Са десне стране од ње се уписује име изузетка, а после имена у заградама - тип изузетка:

pythonclass Изузетак(тип изузетка):
  pass

Хајде да креирамо сопствену класу ToBigLength за хватање превише дугих листи. У заградама ове класе ћемо написати тип изузетка који ће она хватати. Нека то буде изузетак Exception. У телу класе за сада можемо написати pass:

pythonclass ToBigLength(Exception):
  pass

Хајде да тестирамо рад управо креираног изузетка. За то ћемо написати конструкцију try-except, а наш изузетак бацити помоћу специјалне команде raise:

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

Након извршавања кода исписаће се:

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

Креирајте изузетак за хватање негативног броја.

Задание 2

Креирајте изузетак за хватање нуле.