我是python的新手,当我评论('#')以下代码的最后几行时,我有一个缩进错误消息:
try:
return get_callable(callback), {}
# except (ImportError, AttributeError), e:
# raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st r(e)))
有人可以帮忙吗?
答案 0 :(得分:5)
在评论try
/ except
时,请在if True: #
前面放置try
:
if True: #try:
return get_callable(callback), {}
# except (ImportError, AttributeError), e:
# raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st r(e)))
这使得语法正确,而不必破坏内部块。您还可以在评论finally: pass
之后添加except
块:
try:
return get_callable(callback), {}
# except (ImportError, AttributeError), e:
# raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st r(e)))
finally:
pass
您唯一的另一个选择是注释掉try:
行,和删除该块的缩进:
# try:
return get_callable(callback), {}
# except (ImportError, AttributeError), e:
# raise ViewDoesNotExist("Tried %s. Error was: %s" % (callback, st r(e)))
如果没有try:
或except
块,您就无法保留finally
,无法完成此任务。
答案 1 :(得分:4)
您的代码在语法上不再有效。 except子句是try子句的必需伴随。
答案 2 :(得分:2)
如果没有其他except
语句,python正在查找except语句,而是可能看到一条未缩进的行。
所以你可能会想,“为什么这是缩进错误?我只是错过了except
,它与缩进没有任何关系。”原因是python“看到”try:
后面的一条未缩进的行,并希望它缩进到try
内。