gpt4 book ai didi

python - 如何处理未作为异常引发的 SQLITE 错误,例如 "has no column named"?

转载 作者:太空宇宙 更新时间:2023-11-04 00:51:42 26 4
gpt4 key购买 nike

在 Python 中捕获来自 SQLite 数据库的“错误”的最佳方法是什么,因为它们在 Python 中不被视为异常。

在数据库中不存在列的情况下尝试 INSERT OR IGNORE 语句后的错误输出如下

('table X has no column named Y,)

下面的语句用于执行查询

cursor.execute("INSERT...")

我想到的方法不起作用,因为当游标/查询出错时不返回行数

if cursor.rowcount != 1:
print("##########Error write_DB\n")

我还能做些什么来捕捉类似的错误。

背景:我正在插入多行,如果插入查询不成功,我想在日志文件中突出显示。

谢谢你的建议

最佳答案

可以关注EAFP approach ,使用常规 INSERT(没有“忽略”部分)并捕获您可以记录的数据库错误:

try:
cursor.execute("INSERT INTO ...", params)
except sqlite3.Error as err:
logger.error(err.message)

关于python - 如何处理未作为异常引发的 SQLITE 错误,例如 "has no column named"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36816640/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com