参考答案如下:
java:
1.finally;
2.try-with-resource,类必须实现AutoCloseable接口;
3.finalize(),不一定安全,慎用。
c#:
1.finally;
2.using,类必须实现IDisposable接口;
3.析构,不一定安全,慎用。
golang:
1.defer;
2.runtime.SetFinalizer,析构,不一定安全,慎用。
python:
1.finally+hasattr+callalble;
finally:
if hasattr(sftp_client, "close") and callable(sftp_client.close):
sftp_client.close()
if hasattr(ssh_conn, "close") and callable(ssh_conn.close):
ssh_conn.close()
2.__del__析构函数,不一定安全,慎用。