我正在测试我编写的一些代码,当正常运行时,它可能会引发一个类型错误,其中' NoneType'对象不可迭代。由于这是预期的,我想在发生这种情况时处理它,而不会无意中隐藏其他TypeErrors。
如何测试我的TypeError是否适用于' NoneType' ,而不是出于其他原因?我已经查看了TypeError的属性,但似乎无法理解哪个会告诉我错误的原因。
答案 0 :(得分:5)
您实际上是在尝试检查None
类型,因为您收到的错误直接表明您正在尝试迭代某个None
变量。我使用None
的经典python检查确定何时出现这种情况:
if my_iterable_collection is None:
... no good
else:
... we're good
这就是我尝试查找并冒泡None
相关问题的方式,而非使用try/catch
。您将确切地知道确切的错误与None
具有高度的粒度相关。