尝试从文件中读取整数并将其复制到数组时,为什么会出现此错误?

gjv*_*lya -4 java arrays

我有一个名为"hours.txt"的文本文件,其中包含我想要读取的整数行并将它们复制到数组中.

整数是一周内8名员工的工作小时数.所以我创建了一个二维数组,其中行是员工,列是一周的日子.

public static void read()
{

    Scanner read = new Scanner(new File("hours.txt"));
    int[][] hours = new int[8][7];


    for(int r=0; r<hours.length; r++)
    {
        for(int c=0; c<hours[0].length; c++)
        {
            while(read.hasNextInt())
            {
                hours[r][c]= read.nextInt();
            }
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我收到以下错误:

EmployeeHours.java:16:错误:未报告的异常FileNotFoundException; 必须被抓住或宣布被抛出

这是为什么?谢谢你的帮助!

Mat*_*all 6

因为FileNotFoundException是经过检查的例外.您必须catch 处理它,或者throws在方法声明中处理它.并且不要只是吞下异常; 这几乎从来都不是"处理"它们的正确方法.

关于这个主题的更多阅读可以在Java官方教程中找到.