我正在尝试编写一个小程序,我遇到了以下问题:
在我的一个方法中,我有以下代码
try{
rootHuman = Human.load(scanner.next());
}catch(FileNotFoundException f){
//Missing Code
}
我尝试捕获FileNotFoundException。所以看看Human.load()的函数调用,我们有了这段代码
public static Human load(String filename){
try{
Human human;
FileInputStream fileIn = new FileInputStream(filename);
ObjectInputStream in = new ObjectInputStream(fileIn);
human = (Human) in.readObject();
in.close();
fileIn.close();
return human;
}catch(IOException i){
i.printStackTrace();
return null;
}catch(ClassNotFoundException c){
c.printStackTrace();
return null;
}
同样在尝试捕获FileNotFoundException时,我遇到了同样的问题。我的问题是编译器告诉我永远不会抛出这个异常,但是当我执行代码时,当来自scanner.next()的输入是一个不存在的文件名时,我显然会得到一个FileNotFoundException。我在这里毫无意义,所以任何建议都非常受欢迎。
提前致谢