【发布时间】:2013-04-09 06:53:46
【问题描述】:
如果有错误,请纠正我:在 Java 7 的 try-with-resources 语句中,资源的 close() 方法抛出的任何异常都必须声明为由我的方法抛出,或者我必须将整个尝试包装在另一个 @ 987654322@ 捕获close() 抛出的任何异常。
如果是这样,我想知道我是否会充分利用它。我当然不想throw close() 抛出的异常,调用者不知道该怎么办。一个 try 包裹另一个 try 只是为了处理 close() 看起来不是很优雅,至少对我来说。
编辑:我想我不小心问了两个问题,其中一个是重复的。
问题 1. 我是否必须声明我的方法从 close() 方法抛出异常或将 try-with-resources 包装在另一个尝试中? (建议的副本中没有回答。)
问题2.有没有办法静默关闭资源? (显然是重复的,所以我把这句话排除在问题之外。希望这能让这个问题令人满意地独一无二。)
【问题讨论】:
-
你有很多资源从
close()扔过来的吗? -
只有几个,但我经常使用它们(ResultSet、BufferedReader、RandomAccessFile)。