我正在使用尝试,除了在美丽的汤中阻止从帖子中获取图像。 尝试块检查帖子是否有某个类,如果没有,它将继续前进。所以我在 try 块中收到此错误,该类不存在。这是代码的简化版本。
a = "check"
try:
print(b)
except Exception as e:
print(c)
except Exception as e:
print(e)
except Exception as e:
print(a)
根据我的理解,应该没有错误,必须打印出"检查"。但是我得到这个错误名称"b"未定义
您面临的问题是:
例外情况中只考虑try
块!如果要捕获except
块中引发的错误,则需要将它们折叠到try
块本身中。
简短示例:
a = "check"
try:
print(b)
except Exception as e:
try:
print(c)
except Exception as e:
try:
print(e)
except Exception as e:
print(a)
@Scotty1- 所说的似乎是您问题的答案,但是这是另一种嵌套较少尝试的方法,除了。我打算将其作为评论发布,但它有点长,所以我把它放在这里,如果它有误,请将其删除。
为什么不做这样的事情呢?
a = 'check'
varL = ['b', 'c', 'e', 'a']
for x in varL:
if x in locals() or x in globals():
exec('print({})'.format(x))
请注意,exec 通常比执行普通代码慢,因此如果这样做,请确保它不会重复很多次。