Я видел два способа приобретения и использования ресурсов. Либо:
Код: Выделить всё
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