如何检查TypeError是否适用于NoneType

Dim*_*kos 3 python exception

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

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

osp*_*hiu 5

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

if my_iterable_collection is None:
    ... no good
else:
    ... we're good
Run Code Online (Sandbox Code Playgroud)

这就是我试图找到并冒泡None相关问题的方式,而不是使用try/catch.您将知道确切的错误与None高度的粒度有关.