Java 为什么这段代码会抛出IOException?

Java 为什么这段代码会抛出IOException?,java,ioexception,Java,Ioexception,为什么此代码会引发IOException import java.io.File; import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String[] args) { try (Scanner scan1 = new Scanner(new File("File1.txt")); Scanner s

为什么此代码会引发
IOException

import java.io.File;
import java.io.IOException;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        try (Scanner scan1 = new Scanner(new File("File1.txt"));
             Scanner scan2 = new Scanner(new File("File2.txt"))) {

        } catch (IOException e) {
            System.out.println("An IOException has been thrown.");
        } 
        System.out.println("Done!");
    }
}

我从一本书中学到了这一点,但不明白为什么它会抛出一个异常。感谢您的帮助

因为构造函数
扫描程序(文件)
抛出一个
FileNotFoundException
,它是
IOException
的子类。查看javadoc了解更多信息。

因为构造函数
扫描程序(文件)
抛出
FileNotFoundException
,它是
IOException
的子类。查看javadoc了解更多信息。

在异常
println
中,也输出“e”,以便查看错误是什么。它将告诉您它抛出异常的原因。在异常
println
中,也输出“e”,以便您可以看到错误是什么。它将告诉您它抛出异常的原因。