Хвърляне на собствени типове изключения в Python
Изключенията, налични в Python по подразбиране, не винаги могат да задоволят всички наши нужди в различни ситуации. Затова в Python е вградена възможността да се създават изключения от собствен тип.
За да създадете изключение, трябва да декларирате
специален ООП клас с помощта на ключовата
дума class. Вдясно от нея
се прописва името на изключението, а след името
в кръгли скоби - типът изключение:
class Изключение(тип изключение):
pass
Нека създадем собствен клас ToBigLength
за прихващане на твърде дълги списъци. В
кръглите скоби на този клас ще пропишем
типа изключение, което той ще прихваща.
Нека това да бъде изключението Exception.
В тялото на класа засега може да се напише pass:
class ToBigLength(Exception):
pass
Нека проверим работата на току-що създаденото
изключение. За това ще напишем конструкцията
try-except, а нашето изключение
ще хвърлим с помощта на специалната команда raise:
try:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
След изпълнение на кода ще се изведе:
'error: list is too big'
Създайте изключение за прихващане на отрицателно число.
Създайте изключение за прихващане на нула.