python - 如何捕捉 - 'NoneType' 对象没有属性 'something'

标签 python

我知道错误是什么:

AttributeError: 'NoneType' object has no attribute 'something'

意思是,但我想不通的是如何捕捉它。基本上我想检查我的对象是否已创建。

我想做这样的事情:

try:
    test = self.myObject.values()
except:
    print "Error happened"

但每次我这样做都会得到:

AttributeError: 'NoneType' object has no attribute 'values'

谁能告诉我如何捕捉这个?

最佳答案

您可以使用返回 True 或 False 的 hasattr(object, name) 方法。如果您尝试访问不存在的属性,您将始终收到异常。 https://docs.python.org/2/library/functions.html#hasattr

如果您仍然希望捕获异常,那么只需执行异常类型为“AttributeError”的 try/catch block

关于python - 如何捕捉 - 'NoneType' 对象没有属性 'something',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29107534/

相关文章:

python - Django 中同一字段的多个外键

python - 我不断收到以下错误 "local variable ' total_results' referenced before assignment”

python - 使用变量指定使用 str.format 格式化 float

python - 在 Streamlit 的复选框中选择多个选项

Python正则表达式或split/strip从文本行括号之间获取int

python - 如何在 wordpress 博客中编写 python 代码?

python - 如何使 python lambda 表达式的索引静态

Python Pandas pivot_table 在 pivot 之后缺少列

python - Cloud Vision API 客户端抛出操作系统错误 "too many open files"

python - 从文本文件读取而无需使用 readline()