Pythonでの条件に基づくユーザー定義例外
例外をスローするためには、通常、特別な条件が設定されます。
リストがあるとします:
lst = [1, 2, 3]
リストの長さが3以下であれば要素の合計を計算し、それ以外の場合(elseブロック)では、独自の例外ToBigLengthをスローするという条件を設定してみましょう:
try:
if len(lst) <= 3:
print(sum(lst))
else:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
コードを実行すると、次のように出力されます:
6
では、リストの要素数を増やしてみましょう:
lst = [1, 2, 3, 4]
try:
if len(lst) <= 3:
print(sum(lst))
else:
raise ToBigLength
except ToBigLength:
print('error: list is too big')
コードを実行すると、次のように出力されます:
'error: list is too big'
条件を書いてください。数値が正の場合、その数値を2乗します。数値が負の場合、前のレッスンで作成した独自の例外をスローしてください。
条件を書いてください。数値が0でない場合、それに5を加えます。それ以外の場合、前のレッスンで作成した独自の例外をスローしてください。