Pythonでの条件に基づくユーザー定義例外

例外をスローするためには、通常、特別な条件が設定されます。

リストがあるとします:

pythonlst = [1, 2, 3]

リストの長さが3以下であれば要素の合計を計算し、それ以外の場合(elseブロック)では、独自の例外ToBigLengthをスローするという条件を設定してみましょう:

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

コードを実行すると、次のように出力されます:

python6

では、リストの要素数を増やしてみましょう:

pythonlst = [1, 2, 3, 4]

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

コードを実行すると、次のように出力されます:

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

条件を書いてください。数値が正の場合、その数値を2乗します。数値が負の場合、前のレッスンで作成した独自の例外をスローしてください。

Задание 2

条件を書いてください。数値が0でない場合、それに5を加えます。それ以外の場合、前のレッスンで作成した独自の例外をスローしてください。