为什么我会从一个正确缩进的函数(在“try”之后没有“except”)得到一个 IndentationError?
- 2025-01-07 08:44:00
- admin 原创
- 147
问题描述:
我有一些如下代码:
def first_function(x):
try:
return do_something_else()
def second_function(x, y, z):
pass
但我收到如下错误:
def second_function(x, y, z):
^
IndentationError: unexpected unindent
缩进仅使用空格,所有内容都正确排列。有什么问题?
这个问题具体是关于一个try
块需要相应的except
或的finally
事实。一些较旧版本的 Python 会将其检测为IndentationError
后续代码,因为当尚未看到或时,它期望代码位于“内部try
” 。较新版本的 Python 可能会以不同的方式报告错误。except
`finally`
另请参阅我遇到了 IndentationError(或 TabError)。我该如何修复它?以了解有关的一般信息IndentationError
。
另请参阅为什么在语法完全有效的行中会出现 SyntaxError(或 IndentationError)?了解以误导性方式报告语法问题的另一种常见情况。
解决方案 1:
这是因为你有:
def first_function(x):
try:
return do_something_else()
except
块后没有匹配的块try:
。每个try
必须至少有一个匹配的except
。
请参阅Python 教程的错误和异常部分。
解决方案 2:
你没有完成你的try
声明。你except
也需要一份。
解决方案 3:
此错误实际上可能位于报告错误之前的代码中。例如,如果您有如下所示的语法错误,您将收到缩进错误。语法错误实际上位于“except”旁边,因为它后面应该有一个“:”。
try:
#do something
except
print 'error/exception'
def printError(e):
print e
如果将上面的“except”更改为“except:”,错误就会消失。
相关推荐
热门文章
项目管理软件有哪些?
热门标签
云禅道AD