-2

我正在检查 SQLite 中的字段是否有客户预订 ID - 如果有,它将返回该行等。但如果他们没有,我会收到以下错误

TypeError: 'NoneType' object has no attribute '__getitem__'

我知道这意味着什么,什么都没有等等。但我想知道是否有办法防止错误,而是在那里放一条消息?

4

3 回答 3

1

如果你知道如何处理它,你总是可以捕捉到错误:

try:
   do_something_that_raises_error()
except TypeError:
   print("database doesn't have correct info")
   sys.exit(1)
于 2013-02-18T20:27:10.247 回答
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)
于 2013-02-18T21:56:46.443 回答
0

看起来你正在做这样的事情:

if row['customer_booking_id'] is not None:

而你rowNone本身就是。你能发布你的代码吗?

于 2013-02-18T20:27:31.260 回答