【问题标题】:how to use try and except in python?如何在python中使用try和except?
【发布时间】:2019-06-21 18:03:59
【问题描述】:

我正在尝试从 python 中的 sqlite3 数据库中获取 user_id 并存储在一个数组中。这是我尝试过的:

LIST_ARRAY=[]
def start(bot, update):
    value = update.message.from_user.id
    print("VALUE first: ", value)
    try:
        for row in connection.execute("SELECT *from userdetails WHERE user_id=?", (value,)):
            print(row)
            user_id, full_name, address, phone_number, email = row
            data = [user_id]
            LIST_ARRAY[0] = data[0]
    except:
        print(LIST_OF_ADMINS)

它没有得到值,请帮我解决这个问题。

我的数据变量没有被添加到列表数组中

【问题讨论】:

  • 也许从查看docs开始
  • 首先注意listarray是不同的。您正在使用数组表示法将数据添加到列表中。使用LIST_ARRAY.append(data[0])
  • “它没有得到值”。那么,它在做什么?如果您的答案不是“它因 IndendationError 而崩溃”,请edit您的帖子,以便缩进与您的实际代码中的内容相匹配。
  • 去掉try/except,然后看看错误是什么。了解如何创建minimal reproducible example
  • 如果一行代码不能产生您试图捕获的异常,它可能不属于try 块。并且except 应该总是例外:至少Exception,以避免捕获像SystemExit 这样的东西,但越专注越好。

标签: python python-3.x python-2.7 logic


【解决方案1】:

我无法帮助您解决数据库问题,但我可以回答“如何在 python 中使用 try 和 except”的问题

Try 和 except 在 python 中用于处理代码中出现的错误,如下所示

x=[0,'It Worked',2]

try:
    print(x[4])
except IndexError:
    print("Oh No there was an error")

try:
    print(x[1])
except IndexError:
    print("Oh No there was an error")

所以在上面的示例中,我创建了一个包含 2 个整数和一个字符串的数组...然后我“尝试”打印 x[4] 中不存在的内容,这会导致 IndexError...因为我告诉程序打印(x [4])并且我准备的错误发生了“EXCEPT”语句被执行并且它下面的代码也被执行

代码的输出是:

'Oh No there was an error'
'It Worked'

【讨论】:

  • 原来是这样的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-26
  • 2016-04-06
  • 2012-11-06
  • 1970-01-01
  • 2013-06-03
  • 2021-04-24
相关资源
最近更新 更多