try block inside while statement

Viewed 74597

I'm just starting out with Python 2.7 and I don't understand why something is happening:

In the following code, an embellished version of an example from the python 2.7.2 tutorial, I get an unexpected result:

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'

When I put in an integer, the code ignores the else: statement and cuts straight to finally:. Clearly it's something to do with the while True: at the top but why is it happening?

4 Answers

i recently faced a question in which no input, for how many test cases .while loop and try-except are very helpful.

while(True):
    try:
        x=(input())
        x1,x2=x.split()
        print(int(x1)+int(x2))
    except:
        break
Related