小编use*_*416的帖子

在语句中尝试阻止

我刚刚开始使用Python 2.7,我不明白为什么会发生什么:

在下面的代码中,来自python 2.7.2教程的示例的装饰版本,我得到了一个意想不到的结果:

while True:
    try:
        x = int(raw_input("Please enter a number: "))
        break
    except ValueError:
        print "Oops!  That was not a valid number.  Try again..."
    else:
        print 'Thanks,',x,'is indeed an integer'
    finally:
        print 'all done, bye'
Run Code Online (Sandbox Code Playgroud)

当我输入一个整数时,代码会忽略该else:语句并直接切入finally:.显然它与while True:顶部有关但为什么会发生?

python if-statement exception-handling while-loop

4
推荐指数
2
解决办法
5万
查看次数