当前位置: 首页 > 面试题库 >

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

锺离德运
2023-03-14
问题内容

我正在尝试创建一个将字符串输出到文本文件的简单程序。使用在这里找到的代码,我整理了以下代码:

import java.io.*;

public class Testing {

  public static void main(String[] args) {

    File file = new File ("file.txt");
    file.getParentFile().mkdirs();

    PrintWriter printWriter = new PrintWriter(file);
    printWriter.println ("hello");
    printWriter.close();       
  }
}

J-grasp向我抛出以下错误:

 ----jGRASP exec: javac -g Testing.java

Testing.java:10: error: unreported exception FileNotFoundException; must be caught or declared to be thrown
    PrintWriter printWriter = new PrintWriter(file);
                              ^
1 error

 ----jGRASP wedge2: exit code for process is 1.

由于我刚接触Java,所以我不知道这意味着什么。有人能指出我正确的方向吗?


问题答案:

您没有告诉编译器,如果文件不存在,则有可能抛出FileNotFoundException a FileNotFoundException将被抛出。

试试这个

public static void main(String[] args) throws FileNotFoundException {
    File file = new File ("file.txt");
    file.getParentFile().mkdirs();
    try
    {
        PrintWriter printWriter = new PrintWriter(file);
        printWriter.println ("hello");
        printWriter.close();       
    }
    catch (FileNotFoundException ex)  
    {
        // insert code to run when exception occurs
    }
}


 类似资料: