This is from the document.
If an exception occurs that does not match the exception named in except, it is passed to the external try statements; if there is no handler, this is an unhandled exception, and execution stops with as shown above.
You can even be more specific.
>>> while True: ... try: ... x = int(raw_input("Please enter a number: ")) ... break ... except ValueError: ... print "Oops! That was no valid number. Try again..."
Here you enter an except clause only if you encounter a named error, ValueError
source share