有一个脚本,它的主要部分是:
try:
con = sqlite3.connect('Posts.db')
cur = con.cursor()
...
except:
...
except:
finally:
cur.close()
con.close()
事实是,在我的代码中,打开连接和游标后,会产生错误,无论是否发生错误,我都想关闭连接。
怎么安排最好?在每个例外中,我在错误 print 之后都有一个 raise SystemExit。如果我最后写:
cur.close()
con.close()
那么事情可能达不到他们的执行?是的,解释器抛出错误。NameError: name 'cur' is not defined
NameError: name 'cur' is not defined访问尚未初始化(考虑创建)的变量时会发生错误,因此您提前创建它们,并finally检查它们是否具有值: