-1
我試圖抓住我的頭試試/除了。請參閱下面的代碼....所以,我想提出一個ValueError如果用戶輸入的東西以外的東西是指定的,這是不會發生的。我知道我可以使用If語句並以這種方式引發ValueError。但爲什麼這不起作用呢。如果Try塊中的任何內容爲False,代碼是否應該跳過except塊?提出用戶輸入異常
我試圖抓住我的頭試試/除了。請參閱下面的代碼....所以,我想提出一個ValueError如果用戶輸入的東西以外的東西是指定的,這是不會發生的。我知道我可以使用If語句並以這種方式引發ValueError。但爲什麼這不起作用呢。如果Try塊中的任何內容爲False,代碼是否應該跳過except塊?提出用戶輸入異常
不,不應該。 嘗試的問題不在於條件評估是否爲真;這是語句塊是否引發異常。你的「status ==」表達式不會引發異常,所以「except」塊不會被執行。
status = "other"
try:
status == "citizen" or status == "legal" or status == "illegal"
except:
raise ValueError
print "finished nicely"
輸出:
finished nicely
鑑於此並給我們一個例外:
status = "other"
option_dict = {
"citizen": 1,
"legal": 2,
"illegal": 3
}
try:
option = option_dict[status]
except:
raise ValueError
print "finished nicely"
輸出:
Traceback (most recent call last):
File "/home/wdwickar/QA_Test/testcases/so.py", line 11, in <module>
raise ValueError
ValueError
沒有試用 - 除了區塊,我們得到
KeyError: 'other'