1. ホーム
  2. java

[解決済み] エラー: 報告されていない例外 FileNotFoundException; キャッチするか、スローするよう宣言する必要があります。

2022-02-26 08:33:09

質問

テキストファイルに文字列を出力する簡単なプログラムを作ろうとしています。ここで見つけたコードを使って、以下のようなコードをまとめました。

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
    }
}