我正在使用Python文档进行尝试/除以下工作:
def profile_check(self):
try:
profile = self.profile_type
return profile
except TypeError:
...
self.profile_type
是Django模型中的一个字段,在这种情况下不存在(因此它返回为None)。但是,似乎缺少某些东西,因为它永远不会转移到except
的操作,而是立即抛出TypeError异常:
>>> a.profile_check()
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'NoneType' object is not callable
这是我第一次尝试使用try-catch,所以我知道这是基本的。
答案 0 :(得分:2)
首先,您的问题是由于某种原因,profile_check设置为None
。这就是为什么它在你打电话时给你的错误。
至于你的try / catch问题,如果一个变量不存在,那么Python解释器会抛出一个NameError
。尝试用TypeError
代替。
虽然没有上下文,但我无法帮助你解决profile_check-is-None问题。遗憾!