以下代码引发UnboundLocalError:
def fetch_results(conn, sql, **bind_params):
"""
Immediately fetches the SQL results into memory
Trades memory for the ability to immediately execute another query
"""
global _log_func
try:
cur = conn.cursor()
if _log_func:
_log_func(cur, sql, bind_params)
cur.execute(sql, bind_params)
return cur.fetchall()
finally:
cur.close()
错误:
line 75, in fetch_results
cur.close()
UnboundLocalError: local variable 'cur' referenced before assignment
我不知道为什么。有人能指出我正确的方向吗?
如果conn.cursor()引发异常,将永远不会分配cur,因此,finally块中的代码将在分配之前引用cur。
尝试删除该try块并查看会发生什么,很可能conn.cursor()抛出了某种异常,您需要对它进行梳理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句