我有以下代码块,它使用http://www.jcraft.com/jsch/
中的JSCH库try {
channel.put(f, filename);
} catch (FileNotFoundException e) {
System.out.println("no file.");
}
我知道当在本地找不到f指定的文件时,put方法会抛出FileNotFoundException,但是eclipse告诉我catch块无法访问,并且永远不会抛出该异常。当我改为:
try {
channel.put(f, filename);
} catch (Exception e) {
System.out.println(e.getMessage());
}
我明白了:
java.io.FileNotFoundException: C:\yo\hello2 (The system cannot find the file specified)
有什么想法吗?
答案 0 :(得分:8)
我认为你的FileNotFoundException
被channel
方法抛出的另一个包裹着,因此你无法捕捉它。
尝试打印方法抛出的异常类:
...
} catch (Exception e) {
System.out.println(e.getClass());
}
答案 1 :(得分:2)
检查您的import语句,确保您没有从FileNotFoundException
以外的包中导入java.io
类。