java是否尝试在捕获前使用资源最终执行块?
我学习了Java7特性try with resources
在catch块中,我应该处理来自try
(通常)和finally
的异常
这是否意味着最终在catch之前被调用?如果我想处理catch中的可关闭资源,该怎么办
有一个观察结果证实了我的假设
如果尝试块抛出异常1并关闭资源抛出异常2的方法,则异常1将被捕获,异常2将被抑制
你可以在下面搜索框中键入要查询的问题!
我学习了Java7特性try with resources
在catch块中,我应该处理来自try
(通常)和finally
的异常
这是否意味着最终在catch之前被调用?如果我想处理catch中的可关闭资源,该怎么办
有一个观察结果证实了我的假设
如果尝试块抛出异常1并关闭资源抛出异常2的方法,则异常1将被捕获,异常2将被抑制
# 1 楼答案
在
try
部分声明的资源的作用域仅限于try
主体。如果需要在catch
中访问它们,请使用常规的try-catch
语句finally
块将始终最后执行