-3
/**
 * @(#)b.java
 *
 *
 * @author
 * @version 1.00 2012/5/4
 */
import java.util.*;
import java.io.*;
import java.*;

public class b {


static void lireBddParcs(String nomFichier) throws IOException
{
    LinkedHashMap parcMap = new LinkedHashMap<Parc,Collection<Manege>> ();


    int n = 0;
    boolean existeFichier = true;

    FileReader fr = null;

    try
    {
        fr = new FileReader (nomFichier);
    }

    catch(java.io.FileNotFoundException erreur)
    {
        System.out.println("Probleme rencontree a l'ouverture du fichier" + nomFichier);
        existeFichier = false;
    }

    if (existeFichier)
    {
        BufferedReader entree = new BufferedReader(fr);
        boolean finFichier = false;

              while(!finFichier)
              {
               String[] line = entree.readLine().split("/t");;
               Parc p = new Parc(line[0], line[1], line[2]);


                  if (line == null)
                  {
                      finFichier = true ;
                  }

                  else
                  {
                      parcMap.put(p, null);
                  }

              }
                  entree.close();

    }


}


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
      lireBddParcs("parcs.txt");

    }
}

テキストファイルの中身はこちら

Great America   Chicago Illinois
Magic mountain  Los Ageles  Californie
Six Flags over Georgia  Atlanta Georgie
Darien Lake Buffalo New York
La Ronde    Montreal    Quebec
The Great Escape    Lake Georges    New York
Six Flags New Orleans   New Orleans Louisiane
Elitch Gardens  Denver  Colorado
Six Flags over Texas    Arlington   Texas
Six Flags New England   Springfield Massachusetts
Six Flags America   Washington  D.C.
Great Adventure Jackson New Jersey

これが私が得ているエラーです:

error: unreported exception IOException; must be caught or declared to be thrown
4

2 に答える 2

2

メソッドlireBddParcsは をスローするIOExceptionように宣言されているため、メソッドがそれを処理していないため、コードはコンパイルされませんmainthrowsあなたの目的のために、それをメソッドに追加するのが最も簡単だと思うかもしれませんmain:

public static void main(String[] args) throws IOException { ... }

lireBddParcsまたは、呼び出しをステートメントで囲み、try/catch例外をどこかに記録することもできます。

于 2012-05-04T19:59:00.287 に答える
1

java.io.IOExceptionつまり、 throws を宣言するメソッドを呼び出す場合はIOException例外をキャッチするか、メソッド定義で宣言する必要があります。

このチュートリアルが役立つことを願っています: http://docs.oracle.com/javase/tutorial/essential/io/

于 2012-05-04T19:59:39.850 に答える