我已经尝试了所有可以在互联网上找到的内容,但似乎没有任何解决方法。我恳求帮助,告诉我我做错了什么。我是Java的新手。谢谢!

import java.util.Scanner;

class File_Scanner {
    public static void read() {
        File credentials_file = new File("credentials.txt");
        Scanner file_reader = new Scanner(credentials_file);
        String[] users = new String[6];
        int index_counter = 0;

        try {
            while (file_reader.hasNextLine()) {
                users[index_counter] = file_reader.nextLine();
            }
            file_reader.close();

        } catch (Exception e) {
          System.out.println(e.getClass());
        }
    }
}

这显示了以下错误
Unreported exception FileNotFoundException; must be caught or declared to be thrown

最佳答案

我想建议将整个read函数用try/catch块包围,如下所示。

import java.util.Scanner;

class File_Scanner{
    public static void read(){
        try {
            File credentials_file = new File("credentials.txt");
            Scanner file_reader = new Scanner(credentials_file);
            String[] users = new String[6];
            int index_counter = 0;

            while (file_reader.hasNextLine()) {
                users[index_counter] = file_reader.nextLine();
            }

            file_reader.close();
        } catch (Exception e) {
          System.out.println(e.getClass());
        }
    }
}
try/catch的想法是避免在运行程序时可能发生的任何错误。在您的情况下,如果未找到或删除Scanner file_reader = new Scanner(credentials_file);,则credentials_file可能会引发错误。因此,您需要在try块周围进行覆盖,这将为您提供一个异常,可以对其进行处理以在catch块中显示正确的响应消息。

希望有帮助!

10-05 20:42
查看更多