试图在Python中找出except语句

Cap*_*cus 3 python except

我在理解在Python中使用"except"语句的方法时遇到了一些麻烦.我现在是一个可怕的程序员,所以我提前道歉.

这是我试图运行的小代码:

def mathWorks():
    print " Answer the following: 5 + x = 10"

    x = int(raw_input("Please type your answer: "))

    if x == 5:
        print "You are correct!"
    else:
        print "You are incorrect!"
        break
    except ValueError:
        print "That is not an integer!"

mathWorks()
Run Code Online (Sandbox Code Playgroud)

我认为我想要完成的是非常自我解释.不幸的是,我在这段代码中得到了"except"语句的"无效语法".

我在这里做错了什么?

Gar*_*tty 14

except必须在一个try街区之后来.这表示应该处理异常的代码部分:

try:
    x = int(raw_input("Please type your answer: "))
except ValueError:
    print "That is not an integer!"
Run Code Online (Sandbox Code Playgroud)

将其读作'试试这个,如果失败则执行此操作'.请注意,最好在try块中尽可能少地执行操作- 这可以确保您不会捕获您不想要的错误(就像指定要捕获的异常类型一样,您已经在执行此操作).

在这种情况下,你可能想调用sys.exit(1)except块为好,否则程序将继续(与失败,另一个错误).

  • @ user1901780 - 一旦你的问题,请随意[接受](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)这个答案(或任何其他答案)已经解决了.我会选择这个.这是一个非常好的(正如我们对Lattyware的期望):) (2认同)