试图在Python中找出except语句

时间:2012-12-17 19:56:21

标签: 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()

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

我在这里做错了什么?

3 个答案:

答案 0 :(得分: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,否则程序将继续(并且会因其他错误而失败)。

答案 1 :(得分:0)

它的使用方式如下:

try: # try code here
except: # except errors here

答案 2 :(得分:0)

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

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

有关详细信息,请参阅原始文档: https://docs.python.org/2/tutorial/errors.html