【发布时间】:2017-06-20 16:58:48
【问题描述】:
我有以下:-
private static String loadString(File f) {
StringBuffer results = new StringBuffer();
Reader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(...));
...
while (reader.read(data) >= 0) {
...
}
} catch (IOException e) {
logger.warn(....);
} finally {
try {
reader.close();
} catch (IOException e) {
logger.warn(....);
}
}
return results.toString();
}
我想使用 Java 7 try-with-resources 自动关闭资源,但也想在关闭流时出现错误时保持记录的警告,并且此日志消息将与此不同当从 try 主体中抛出异常后捕获到异常时记录在上面。
这样做最优雅的方法是什么,因为我认为 try 子句和关闭资源都抛出相同的异常这一事实可能会使维护这两个单独的记录器警告变得棘手?
提前致谢
【问题讨论】: