Användardefinierade undantag i villkor i Python

För att kasta ett undantag ställs vanligtvis särskilda villkor.

Låt oss säga att vi har en lista:

pythonlst = [1, 2, 3]

Låt oss ställa ett villkor: om listans längd är mindre än eller lika med tre, låt summan av elementen beräknas. I annat fall, i else-blocket, låt vårt undantag ToBigLength kastas:

pythontry:
  if len(lst) <= 3:
    print(sum(lst))
  else:
    raise ToBigLength
except ToBigLength:
  print('error: list is too big')

Efter att koden har körts kommer detta att skrivas ut:

python6

Låt oss nu öka antalet element i listan:

pythonlst = [1, 2, 3, 4]

try:
  if len(lst) <= 3:
    print(sum(lst))
  else:
    raise ToBigLength
except ToBigLength:
  print('error: list is too big')

Efter att koden har körts kommer detta att skrivas ut:

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

Skriv ett villkor: om talet är positivt, låt det kvadreras. Om talet är negativt - låt ett undantag kastas, som du skapade i föregående lektion.

Задание 2

Skriv ett villkor: om talet inte är lika med noll, låt 5 adderas till det. I annat fall låt ett undantag kastas, som du skapade i föregående lektion.