在这种情况下我会抛出哪种例外?

时间:2017-06-29 15:32:23

标签: java exception filenotfoundexception

我在这里遇到了这段代码的问题。我希望能够显示仅包含单词" LANTALK"的文件的输出。我的收获似乎并不合适。你知道在这种情况下我应该抛出哪个例外吗?

try {
    sc = new Scanner(filename);

    while(sc.hasNext()) {
        String line=sc.nextLine();

        if(line.contains("LANTALK"))
            System.out.println(line);
    }

} catch (FileNotFoundException e) {
    System.out.println("The file \""+log+"\" was not found"); 
}

2 个答案:

答案 0 :(得分:0)

只需使用e.printStackTrace()

try
  {
    sc = new Scanner(filename);
        while(sc.hasNext())

          {
            String line=sc.nextLine();
            if(line.contains("LANTALK"))
            System.out.println(line);
          }

   } catch (FileNotFoundException e) 
          {
              e.printStackTrace(); 
          }

答案 1 :(得分:0)

这一切都取决于如何处理此方法和可能的异常。 可能你不应该抛出异常但返回boolean来表示文件是否包含该关键字。例如:

private boolean isValidFile(final String filename) throws IOException
{
    FileReader fr = new FileReader(filename);
    BufferedReader br = new BufferedReader(fr);
    String line;
    while((line = br.readLine()) != null)
    {
        if(line.contains("LANTALK"))
        {
            return true;
        }
    }
    return false;
}