Фрагмент кода:
InputStream inputStream = null;
try{
ExternalServiceObject object = externalService.getObject();
inputStream = object.getInputStream();
// further uses of inputStream
} catch(Exception e){
throw e;
} finally {
if(inputStream != null)
inputStream.close();
}
Здесь externalService.getObject() также может генерировать исключение.
Хотите реорганизовать этот код, используя try-with-resources, избегая, таким образом, блока finally. Или текущее поведение является наиболее подходящим поведением.
Все комментарии и ответы приветствуются.
try-with-resources
, то ответ - да. Вы можете попробовать это на относительно простом примере — сделайте так, чтобы вашexternalService.getObject()
выдавал какое-то исключение и проверял, выполняется ли блокcatch
. - person Igor Nikolaev   schedule 06.01.2018