def multi(a, b):
if a == 0 or b == 0:
raise ValueError
return a * b
multi(10, 8)
try:
multi(10, 0)
except ValueError:
print(‘raise文で発生させた例外も例外処理できます’)
raiseを使うと、元々、pythonではValueErrorではないのに、ValueErrorに指定することが出来る。そこで、except構文を用いて、その原因を探ることが出来る。
raise ValueError(“メッセージ”, 引数1, 引数2)’
def multi(a, b):
if a == 0 or b == 0:
raise ValueError(“引数のどちらか、あるいは両方がゼロになっています”)
return a * b
answer = multi(10, 8)
print(answer)
try:
answer = multi(10, 0)
print(answer)
except ValueError as e:
print(e.args)
except as e: で、引数をe.argsで取り出すことが出来る。
コメント