防止出现错误信息?

时间:2013-02-18 20:25:23

标签: python sqlite

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

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

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

3 个答案:

答案 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)