Att skapa och kasta egna undantagstyper i Python

Undantagen som finns i Python som standard kan inte alltid tillgodose alla våra behov i olika situationer. Därför har Python en inbyggd möjlighet att skapa egna undantagstyper.

För att skapa ett undantag måste man deklarera en speciell OOP-klass med hjälp av nyckelordet class. Till höger om det skrivs undantagets namn, och efter namnet i runda parenteser - undantagstypen:

pythonclass Undantag(undantagstyp):
  pass

Låt oss skapa vår egen klass ToBigLength för att fånga upp för långa listor. I de runda parenteserna för denna klass skriver vi typen av undantag som den kommer att fånga. Låt det vara undantaget Exception. I klasskroppen kan man för närvarande skriva pass:

pythonclass ToBigLength(Exception):
  pass

Låt oss testa funktionen av det nyskapade undantaget. För att göra detta skriver vi konstruktionen try-except, och vårt undantag kastar vi med hjälp av det speciella kommandot raise:

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

Efter att koden har körts kommer följande att skrivas ut:

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

Skapa ett undantag för att fånga upp negativa tal.

Задание 2

Skapa ett undantag för att fånga upp nollor.