gpt4 book ai didi

python - 无法弄清楚 Python 中的 UnboundLocalError

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:07 25 4
gpt4 key购买 nike

嵌入在函数中的代码块:

try:
os.makedirs(os.path.dirname(log))
except OSError:
pass

错误:

UnboundLocalError: local variable 'OSError' referenced before assignment

这可能是什么症状?

最佳答案

不幸的是,Python 2 异常捕获语法中存在一个令人困惑的来源。在函数的某处,您执行了如下操作:

except SomeError, OSError:

看起来它捕获了两种异常类型,但事实并非如此。 OSError 实际上被解释为您想要保存您正在捕获的 SomeError 实例的变量的名称。这意味着当您 try catch OSError 时:

except OSError:

OSError 指的是您没有意识到自己创建的局部变量。

要捕获多个异常类型,您需要将要捕获的类型列表括起来:

except (SomeError, OSError):

关于python - 无法弄清楚 Python 中的 UnboundLocalError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23986212/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com