使用方法从文本文件获取输出时未处理的异常类型IOException

时间:2016-07-26 09:31:56

标签: java exception-handling io compiler-errors

下面是我的代码,我从输出文件中获取特定行。它给了我上面的错误。有些人可以帮助我,因为我刚接触到这一点。

private final static String ThirdDeviceName=iPhone();



    public static String iPhone() throws IOException {

        BufferedReader br = new BufferedReader(new FileReader("output.txt"));
          String str;
          int start = 0;
         int end = 0;
          int count = 0;

          while((str = br.readLine())!= null)
          {          
             StringTokenizer st = new StringTokenizer(str," ");
             count++;
             System.out.println(st.nextToken());      
          }
          br.close();
        return str;

    }

2 个答案:

答案 0 :(得分:1)

简短回答:您的方法抛出IOException,但您无法在任何地方捕获它。所以它没有处理。如果抛出异常,则不能将该方法用于常量。

使用try-catch块而不是在方法中重新抛出异常,或者使用您在可以执行try-catch块的方法中设置的非final属性。

答案 1 :(得分:1)

将静态字段分配给静态字段时,仍需要处理异常。 一种方法是:

private final static String ThirdDeviceName;

static {
   try {
     ThirdDeviceName=iPhone();

   } catch (IOException e){
     throw new RuntimeException(e);
   }
}

但是在iPhone()方法中处理异常是一种更好的方法。