我正在编写此代码,并且我不断收到运行时错误,告诉我需要捕获IOException。我怎么做?这是我的代码:
System.out.println( "\nThese presidents were born before the states were formed:\n"); // DO NOT REMOVE OR MODIFY
ArrayList<String> america = new ArrayList<String>();
String l;
String line;
while((line = infile2.readLine()) != null)
{
america.add(line);
}
Collections.sort(america);
infile1.reset();
try
{
while((infile1.ready()))
{
ArrayList<String> am = new ArrayList<String>();
l= infile1.readLine();
String [] ls = l.split(" ");
for(int i=1; i<ls.length;i++)
{
am.add(ls[i]);
}
Collections.sort(am);
america.removeAll(am);
}
}
catch( IOException ex)
{
System.out.println("ERROR");
}
System.out.println(america);
答案 0 :(得分:0)
我怀疑你得到的是编译错误,而不是运行时错误。
行while((line = infile2.readLine()) != null)
包含对可以抛出IOException
的方法的调用,但您没有使用try-catch
包裹它。
infile1.reset()
可能会遇到同样的问题。
原因是在Java中,检查异常;如果您正在调用的方法声明throws FooException
,则需要使用try { ... } catch(FooException e) { ... }
包装对该方法的调用,或者使用throws FooException
标记调用方法(或异常层次结构中的任何异常)