如何检查TypeError是否适用于NoneType

时间:2018-01-25 20:49:01

标签: python exception

我正在测试我编写的一些代码,当正常运行时,它可能会引发一个类型错误,其中' NoneType'对象不可迭代。由于这是预期的,我想在发生这种情况时处理它,而不会无意中隐藏其他TypeErrors。

如何测试我的TypeError是否适用于' NoneType' ,而不是出于其他原因?我已经查看了TypeError的属性,但似乎无法理解哪个会告诉我错误的原因。

1 个答案:

答案 0 :(得分:5)

您实际上是在尝试检查None类型,因为您收到的错误直接表明您正在尝试迭代某个None变量。我使用None的经典python检查确定何时出现这种情况:

if my_iterable_collection is None:
    ... no good
else:
    ... we're good

这就是我尝试查找并冒泡None相关问题的方式,而非使用try/catch。您将确切地知道确切的错误与None具有高度的粒度相关。