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

这似乎是图书馆的一个错误,我将不得不寻找一个不同的图书馆。很遗憾,因为它很容易使用。

于 2012-12-19T00:06:47.993 回答
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 回答