为什么我会从正确缩进的函数中收到 IndentationError(在“try”之后没有“ except”)? [重复]

问题描述 投票:0回答:4

我有一些代码,例如:

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

缩进仅使用空格,所有内容都正确排列。怎么了?

python indentation
4个回答
104
投票

因为你有:

def readTTable(fname):
    try:

except
块之后没有匹配的
try:
块。每个
try
必须至少有一个匹配的
except

请参阅 Python 教程的错误和异常部分。


8
投票

您没有完成您的

try
陈述。你也需要 和
except
在那里。


3
投票

此错误实际上可能位于报告错误之前的代码中。例如,如果您有如下语法错误,您将收到缩进错误。语法错误实际上位于“ except”旁边,因为它后面应该包含一个“:”。

try:
    #do something
except
    print 'error/exception'


def printError(e):
    print e

如果将上面的“例外”更改为“例外:”,错误就会消失。

祝你好运。


1
投票

@MaxPython 下面的答案缺少语法

":"

    try:
       #do something
    except:
      # print 'error/exception'


    def printError(e):
        print e
© www.soinside.com 2019 - 2024. All rights reserved.