请纠正我,如果这是错误的:在Java 7的try-with-resources语句中,资源的close()
方法抛出的任何异常必须声明为由我的方法抛出,或者我必须将整个try包含在另一个try
中,由close()
引发的异常。试用资源:我必须抛出或捕获close()方法的异常吗?
如果是这样,我不得不怀疑我是否会利用它。我当然不想throw
close()
抛出的异常,调用者将不知道该怎么做。而一个try
环绕另一个try
只是为了处理close()
不会看起来很优雅,至少对我来说。
编辑:我想我不小心问了两个问题,其中一个是重复的。
问题1.我是否必须声明我的方法抛出了close()
方法的异常,或者在另一个尝试中包含try-with-resources? (没有在建议的副本中回答)
问题2.有没有一种方法可以静静地关闭资源? (显然是重复的,所以我走的那句话出了问题。希望这使得问题的满意是唯一的。)
你有很多,从'close()方法'扔资源? – 2013-04-09 07:02:56
只是少数,但我使用它们很多(ResultSet,BufferedReader,RandomAccessFile)。 – 2013-04-09 07:34:35