我是Python应用程序开发的新手。我知道Python异常,但当我使用except
关键字时,它会显示SyntaxError
。我的代码是
number = 1
try:
if(number == 1):
except ValueError:
print "yay"
else:
print "sucks"
当我使用此代码时,我在添加except
关键字时会出现语法错误。由于我是Python的新手,我不知道为什么会这样。我正在使用Python 2.7。
答案 0 :(得分:6)
number = 1
try:
if(number == 1):
print 'yay'
else:
print 'sucks'
except ValueError:
print 'Oops, something went wrong'
按照这种结构,你将成为金色的小马男孩。
答案 1 :(得分:5)
你不能混淆那样的Python语句。
try ... except
是一个复合语句;包含的两个块中的每一个(对于try
和except
)都需要是它们自己的完全独立的语句。 if ... else ...
也是复合语句,因此必须在try
或except
块中完全 ,或完全在它之外。
这样可行:
number = 1
try:
if number == 1:
print("yay")
else:
print("sucks")
except ValueError:
pass
因为现在整个if .. else
都位于try
区块内。
不是你需要来处理ValueError
这里,代码块中没有任何东西可以抛出异常。
从评论中可以清楚地看到,您使用的是Python 3(和IDLE),因此您希望将print()
用作函数。
答案 2 :(得分:0)
在Python 3.0中,print成为一个函数,您需要为其他函数包含括号。所以
print var
变为print(var)
由于您使用的是Python3,请尝试以下操作:
number = 1
try:
if (number == 1):
print ("yay")
else:
print ("other opts")
except ValueError:
print ("Something went wrong")