我正在修改具有以下形式的Python代码:
def foo(self):
try:
connect socket
except Exception, e:
some error reporting stuff
return an error
use the socket
do some other stuff
if some condition:
return
do some more stuff
socket.close()
return normally
作为一名从Java转来的开发者,我希望在整个过程中都使用try-finally语句块以确保套接字被关闭。是否应该在这段代码中也加入try-finally语句块呢?还是说Python自己有某种魔力可以自动处理这个问题呢?
我在Python文档中读到过套接字会在垃圾回收时关闭。但是仅仅依靠垃圾回收器来关闭套接字并不是一个好的做法。