我有一个解析文本和创建对象的工厂方法。在这个工厂方法中,有一段会一直读到流的末尾。我编写了另一种方法来实现解析器的这一部分。这是我正在使用的代码:
StringBuilder builder = new StringBuilder();
try {
while (reader.ready()) {
builder.append(reader.readLine());
}
} catch (EOFException e) {
// end method normally.
} catch (IOException e) {
throw e; // end method with an exception.
}
我想以与 IOException 不同的方式处理 EOFException,因此我将它们捕获在不同的catch()
块中。我的问题是:EOFException
抛出 an 后,该IOException
catch()
块会运行吗?我想我可以使用boolean
将在 EOFException 区域中设置并在 IOException 区域中进行测试的 a,但这并不像我希望的那样干净。对不起,我没有描述得很好,在此先感谢。