エラーが起きた時に指定のメッセージを出したい
概要
assert 条件式, 条件式を満たしていなければ表示される文字列
条件式を満たしていない場合にシェルのエラーメッセージの中に指定の文字列が出てくる
例
aa = 1
assert aa == 1,'1ちゃうで!'
assert aa == 2,'2ちゃうで!'
aaに1を入れる
aaが1ではないなら「1ちゃうで!」とエラーメッセージを出す
aaが2ではないなら「2ちゃうで!」とエラーメッセージを出す
出力
print出力ではないが、エラーメッセージは
Traceback (most recent call last):
File "/Users/shigetakatani/Documents/python/practice/assert01.py", line 3, in
assert aa == 2,'2ちゃうで!'
AssertionError: 2ちゃうで!
と出る。
説明
エラーが出た時に指定のメッセージを出してエラーするようになる。構文は
assert 条件文,エラー時に出すメッセージ
条件分はTrueなら何も起きず、Falseならエラーメッセージを出す。
エラーが出た後は通常と同じように、そこでプログラムは止まってその先へは進まない。
間違えやすい問題
概要
例
def func():
aList = [1,2,3]
assert 4 in aList,'4がありません'
return aList
func()
関数funcを定義
aListに1,2,3を入れる
aListの中に4があれば何もなし、なければ「4がありません」というエラーメッセージを出す
aListの結果を関数の戻り値にする
関数funcを実行
出力
print出力ではないが、エラーメッセージは
Traceback (most recent call last):
File "C:\Users\Valley\Documents\MyProject_XP\python\practice\assert02.py", line 6, in
func()
File "C:\Users\Valley\Documents\MyProject_XP\python\practice\assert02.py", line 3, in func
assert 4 in aList,'4がありません'
AssertionError: 4がありません
と出る。
説明
上と同様
assert 条件文 メッセージ
条件文「4 in aList」はFalseになるので(aListに4は含まれていないので)
エラーメッセージ「4がありません」と出る
間違えやすい問題