私はsqliteデータベースに接続するいくつかのコードに取り組んでいます。上記のコードをデバッグする過程で、データベースへの開いている接続がハングしているという問題が発生しています。これは、エラーによってcloseコマンドの実行が妨げられたためです。dbとcは関数内で定義されているため、コマンドラインからこれらのオブジェクトを見つけて閉じることができません。これらは孤立した接続などのようなものですが、いずれにせよ、インタラクティブコンソールを閉じて再度開くまで、データベースで他のことを行うことができません。外観は次のとおりです。
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()
「finally」ブロックで最後のクローズ操作を使用してtry/exception句を試しましたが、デバッグ中に例外がインタラクティブ出力に戻されるのを防ぎ、「サイレント」に失敗します(おそらく私はそうではありません)その部分を正しくやっていますか?)これを行うためのより良い方法はありますか?