FTP4Jを使用して FTP サーバーの監視アプリケーションを作成しようとしています (コード例ではクライアントと呼ばれます)。
FTP に接続し、ログインし、ローカルでファイルを作成し、ファイルをアップロードし、ファイルをダウンロードし、ファイルが同じであることを検証し、ftp とローカルでファイルをクリーンアップして切断します。
これはすべて既に行われていますが、私の質問は、何が起こったのかをログに記録し、エラーが検出されたときに中断するにはどうすればよいですか?
私が考えることができる簡単な解決策は、前のステップが成功したかどうかを示し、成功した場合にのみ次のステップを実行するブール値を作成することでした。
StringBuilder sb = new StringBuilder();
boolean noError = true;
// Connect to FTP
try {
client.connect(hostname, port);
} catch (Exception e) {
noError = false;
sb.append("failed to connect<br>");
}
//Logging in to FTP
if(noError) {
try {
client.login(username, password);
} catch (Exception e) {
noError = false;
sb.append("failed to login<br>");
}
}
...
// Close connection
if(client.isConnected()) {
try {
client.disconnect(true);
} catch (Exception e) {
sb.append("failed to disconnect<br>");
}
}
私が考えることができる別の解決策は、ネストされたtry/catchでしたが、それはさらに悪いように見えました.これを行うより良い方法はありますか?