我正在處理一些連接到sqlite數據庫的代碼。在調試所述代碼的過程中,我遇到了一些問題,因爲某些錯誤阻止了關閉命令的執行,所以我將數據庫連接斷開。因爲db和c是在一個函數中定義的,所以我不能從命令行找到並關閉這些對象。他們就像孤兒連接或其他什麼東西,但無論如何,他們阻止我對數據庫做其他事情,直到我關閉並重新打開交互式控制檯。這裏是什麼樣子:如何確保sqlite數據庫連接在調試過程中被關閉?
def something()
db=sqlite3.connect('mydatabase')
c=db.cursor()
somecode
lots of different things happening in here
this may have errors
thus stopping execution
db.commit()
c.close()
db.close()
我已經試過一試/除非在「最後」塊與最終收盤操作條款,但是,當我調試防止異常被回升到交互輸出,而事情「默默地」失敗了(也許我沒有那麼做)?有一個更好的方法嗎?
謝謝。這比try/finally方法更簡單,並且似乎不太容易產生「無聲」錯誤。很好,很乾淨。歡呼聲 – andy 2013-03-21 17:19:46