-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'