2024-05-16 23:28:31 发布
网友
嵌入函数中的代码块:
try: os.makedirs(os.path.dirname(log)) except OSError: pass
错误:
这可能是什么症状?在
Python2异常捕捉语法中有一个令人遗憾的混淆源。在函数的某个地方,您执行了如下操作:
except SomeError, OSError:
看起来它捕获了两个异常类型,但实际上不是。OSError实际上被解释为要保存正在捕获的SomeError实例的变量的名称。这意味着当您试图捕获OSError:
OSError
SomeError
OSError是指您没有意识到自己创建的局部变量。在
要捕获多个异常类型,需要在要捕获的类型列表中加括号:
except (SomeError, OSError):
代码在函数中的某个地方赋值给OSError,这意味着编译器已将其标记为局部变量。验证该名称出现的每一位代码,以验证您没有错误地使用它。在
Python2异常捕捉语法中有一个令人遗憾的混淆源。在函数的某个地方,您执行了如下操作:
看起来它捕获了两个异常类型,但实际上不是。
^{pr2}$OSError
实际上被解释为要保存正在捕获的SomeError
实例的变量的名称。这意味着当您试图捕获OSError
:OSError
是指您没有意识到自己创建的局部变量。在要捕获多个异常类型,需要在要捕获的类型列表中加括号:
代码在函数中的某个地方赋值给
OSError
,这意味着编译器已将其标记为局部变量。验证该名称出现的每一位代码,以验证您没有错误地使用它。在相关问题 更多 >
编程相关推荐