我正在检查 SQLite 中的字段是否有客户预订 ID - 如果有,它将返回该行等。但如果他们没有,我会收到以下错误
TypeError: 'NoneType' object has no attribute '__getitem__'
我知道这意味着什么,什么都没有等等。但我想知道是否有办法防止错误,而是在那里放一条消息?
如果你知道如何处理它,你总是可以捕捉到错误:
try:
do_something_that_raises_error()
except TypeError:
print("database doesn't have correct info")
sys.exit(1)
发现错误后,您还可以引发自定义错误而不是打印:
try:
do_something_that_raises_error()
except TypeError:
raise MyCustomError("My Custom Message")
这是一个示例自定义错误定义:
class MyCustomError(Exception):
def __init__(self, msg):
Exception.__init__(self,msg)
self.message = msg
def __str__(self):
return repr(self.message)
看起来你正在做这样的事情:
if row['customer_booking_id'] is not None:
而你row
的None
本身就是。你能发布你的代码吗?