我正在检查看看SQLite中的某个字段是否有客户预订ID - 如果是,它将返回行等等。但是如果他们没有我得到以下错误
TypeError: 'NoneType' object has no attribute '__getitem__'
我知道这意味着什么,没有什么等等。 但我想知道是否有办法防止错误,而是在那里发消息?
答案 0 :(得分:1)
如果您知道如何处理错误,可以随时捕获错误:
try:
do_something_that_raises_error()
except TypeError:
print("database doesn't have correct info")
sys.exit(1)
答案 1 :(得分:0)
看起来你正在做这样的事情:
if row['customer_booking_id'] is not None:
,而row
本身就是None
。你能发贴你的代码吗?
答案 2 :(得分:0)
一旦发现错误,您也可以提出自定义错误而不是打印:
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)