【问题标题】:error handling for multiple database queries with single connection in pythonpython中单个连接的多个数据库查询的错误处理
【发布时间】:2019-10-22 10:26:01
【问题描述】:

在 python 中对每个查询使用 try catch 执行查询数组的最佳方法是什么?

目前,我在 try catch 块中遍历数据库中的所有查询,以捕获整体查询错误。如何将其转换为可以在查询级别捕获错误的系统?

conn = get_connection()

try:
    for query in queries:
        execute(query)
except Exception as error:
    raise(error)
finally:
    conn.close()

理想情况下,我希望在 for 循环中使用 try catch 块。但是我需要使用 finally 块来关闭连接。如果我将 try catch finally 块放在 for 循环中,我将不得不为每个查询获取一个新连接?任何提示

【问题讨论】:

    标签: python database error-handling


    【解决方案1】:

    你为什么不干脆:

    with get_connection() as conn:
        for query in queries:
            try:
                execute(query)
            except Exception as error:
                raise(error)
    

    您应该避免使用 Exception 子句。相反,您应该捕获特定的异常,例如 FileNotFoundError 等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多