Инициализация одноразовых ресурсов снаружи или внутри try/finallyJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Инициализация одноразовых ресурсов снаружи или внутри try/finally

Сообщение Anonymous »

Я видел два способа приобретения и использования ресурсов. Либо:

Код: Выделить всё

Resource resource = getResource();
try { /* do something with resource */ }
finally { resource.close(); }
или:

Код: Выделить всё

Resource resource = null;
try { resource = getResource(); /* do something with resource */ }
finally { if (resource != null) resource.close(); }
Мне было интересно, какой стиль предпочтительнее. Первый позволяет избежать условия if, а второй (я предполагаю) обрабатывает случай прерывания потока сразу после присваивания, но до входа в блок try. Какие еще плюсы и минусы имеют эти стили друг перед другом? Какой из них мне предпочтительнее использовать?

Подробнее здесь: https://stackoverflow.com/questions/463 ... ry-finally
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»