3

我在理解在 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()

我认为我想要完成的事情是不言自明的。不幸的是,这段代码中的“except”语句出现“无效语法”。

我在这里做错了什么?

4

3 回答 3

14

except必须在一个try块之后。这表明应该处理异常的代码部分:

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

将其读作“试试这个,如果失败就这样做”。请注意,在块中做的越少越好try——这可以确保您不会捕获您无意捕获的错误(就像指定要捕获的异常类型一样,您已经在这样做了)。

在这种情况下,您可能还想sys.exit(1)except块中调用,否则程序将继续(并因另一个错误而失败)。

于 2012-12-17T19:58:07.477 回答
0

它是这样使用的:

try: # try code here
except: # except errors here
于 2012-12-17T19:58:29.910 回答
0

对于您的代码,有一个“else”语句,您应该在所有 except 语句之后使用“else”语句。

这与您的问题没有直接关系,但您可能会遇到这个问题。

更多详情请参考原文档: https ://docs.python.org/2/tutorial/errors.html

于 2014-09-10T03:09:28.933 回答