0

こんにちは私はZeonライブラリを使用してsftpクライアントを実装していますが、正常に動作します。問題は、失敗をテストするときに始まります。ここに私のコードがあります。

int status = 0;
try {
    SFTPClient sftpClient = new SFTPClient(host, username, password);
    status = sftpClient.sendFolder(sendingFolder, destFolder, new BatchTransferProgressDefault());

    System.out.println("FileTransferStatus.SUCCESS: " + FileTransferStatus.SUCCESS);
    System.out.println("status: " + status);
}catch (FileTransferException e){
    LOGGER.error(e);
}catch (Exception e2){
    LOGGER.error(e2);
}

そのため、間違ったホスト、ユーザー名、パスワードを入力しても、コンソールに例外が表示されても例外が発生しない場合でも、ステータスフラグはtrueを返します。

zeonライブラリを強制的に例外ブロックに入れる方法を知っている人はいますか?前もって感謝します

4

2 に答える 2

0

あなたの問題は、これがおそらく起こっているということです:

boolean status = true;
// ... status flag doesn't ever get set to false ...
try {
    SFTPClient sftpClient = new SFTPClient(host, username, password);
    // Your error is thrown before you get this far.
    status = sftpClient.sendFolder(sendingFolder, destFolder, new BatchTransferProgressDefault());
    System.out.println("FileTransferStatus.SUCCESS: " + FileTransferStatus.SUCCESS);
    System.out.println("status: " + status);
} catch (FileTransferException e){
    // The error is logged which means you'll only see it wherever you log it.
    LOGGER.error(e);
} catch (Exception e2){
    LOGGER.error(e2);
}
于 2012-12-17T23:17:28.547 に答える
0

ライブラリのバグのようです。別のライブラリを探す必要があります。使いやすかったので残念です。

于 2012-12-19T00:06:47.993 に答える