【发布时间】:2011-04-28 22:34:30
【问题描述】:
由于我公司使用 Eclipse 和使用 Eclipse 的 code-autofix 的政策,以下代码模式在代码库中出现过多:
InputStream is = null;
try {
is = url.openConnection().getInputStream();
// .....
} catch (IOException e) {
// handle error
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// handle error
}
}
}
IMO 它非常丑陋且难以阅读,尤其是 finally 块中的部分(真的需要捕获 2 个 IOException 实例吗?)。有没有办法精简代码,让它看起来更干净?
【问题讨论】:
-
请注意,除非经过多个实体的测试和批准,否则我不能使用 Apache IOUtils 等外部库
-
使用 Apache IOUtils 的全部意义在于它已经被无数其他人测试过了。话虽如此,我感受到了你的痛苦。让 IOUtils 在您的组织内测试和批准一次,这样您就可以在所有项目中使用它,难道不值得吗?
-
如果生活就这么简单……我必须经历许多层级的管理和繁文缛节,才能让相关工作组看到它。由于多年前已经退役的软件存在“遗留”问题,我们仍然无法使用 JDK1.4.2
-
@Bill the Lizard:+1,打好仗。
-
@david:为你的老板打印一份副本并放入他们的收件箱:oracle.com/technetwork/java/eol-135779.html
标签: java refactoring error-handling stream