据推测,即使在运行时它也不会抛出异常

时间:2015-09-22 15:39:10

标签: java exception try-catch

我正在尝试编写一个小程序,我遇到了以下问题:

在我的一个方法中,我有以下代码

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。我在这里毫无意义,所以任何建议都非常受欢迎。

提前致谢

0 个答案:

没有答案