def connect(self):
ok = False
try:
conn = ftplib.FTP(self.hostname, self.user, self.password)
ok = True
return conn
finally:
if not ok:
logging.error('Failed to connect to %s for %s' % (self.hostname, self.user))
我假设如果 finally 块中发生了某些事情,那么在 try 块中返回不是一个好主意。我只是想在敲别人的头之前确定执行顺序!