Python 3.x PythonDB连接关闭,在finally子句中使用try-catch
所以我想知道什么是在Finally子句中更有效的关闭连接,或者在Finally子句中有一个显式的try-catch语句是更好的方法Python 3.x PythonDB连接关闭,在finally子句中使用try-catch,python-3.x,Python 3.x,所以我想知道什么是在Finally子句中更有效的关闭连接,或者在Finally子句中有一个显式的try-catch语句是更好的方法 try: #some try logic except: print("something") finally: try: my_db_session.close() except: pass 还是这个1 try: #
try: #some try logic
except:
print("something")
finally:
try:
my_db_session.close()
except:
pass
还是这个1
try: #some try logic
except:
print(traceback.print_exc())
finally:
my_db_session.close()
在我看来,这取决于您是否关心由
my\u db\u session.close()
引发的异常try:except:pass
忽略该异常,但最好让调用方处理它
至于效率,你可能指的是速度,我想说,再做一次try/except
语句,绝对不会对速度造成任何损失
如果您所说的效率是指“确保连接确实已关闭”,这取决于my\u db\u session.close()
在出现异常时所做的操作。始终执行finally
子句,因此肯定会调用my\u db\u session.close()