# Handle all the exceptions!
#Setup
actor = {"name": "John Cleese", "rank": "awesome"}
def get_last_name():
try:
return actor["last_name"]
except KeyError:
return "Cleese"
#Test code
get_last_name()
print "All exceptions caught! Good job!"
print "The actor's last name is %s" % get_last_name()
大家好,请你告诉我为什么会收到这个错误:
Traceback (most recent call last):
File "/base/data/home/apps/s~learnpythonjail/3.368780930138799213/main.py", line 77, in execute_python
exec(code, {})
File "<string>", line 9
except SyntaxError:
^
SyntaxError: invalid syntax
我尝试了所有类型的错误捕获,但仍然会产生语法错误。
非常感谢您的帮助!
答案 0 :(得分:4)
你正在混合制表符和空格。您的代码是:
# Handle all the exceptions!
#Setup
actor = {"name": "John Cleese", "rank": "awesome"}
def get_last_name():
····try:
····――――――return actor["last_name"]
――――――except KeyError:
········return "Cleese"
#Test code
get_last_name()
print "All exceptions caught! Good job!"
print "The actor's last name is %s" % get_last_name()
其中――――――
表示标签,·
表示空格。我故意将选项卡表示为6个字符宽,因为4只是你的编辑器使用的约定。使用制表符或空格进行缩进,但不要混合它们! PEP8提倡空格。
在这种情况下,问题是try
的缩进与except
答案 1 :(得分:0)
我只是复制并粘贴你的代码,我没有错误,这意味着它可能是一个布局错误。如果您正在使用标签,请尝试删除它们并用4个空格替换它们。