Попытка с ресурсами инициализировать в ноль
Я рефакторинг некоторого старого кода, который выглядит следующим образом:
OutputStreamWriter osw1 = null;
OutputStreamWriter osw2 = null;
try {
// Some statements...
if (condition1)
osw1 = createAnOutputStreamWriter(params1...);
// Some more statements...
if (condition2)
osw2 = createAnOutputStreamWriter(params2...);
// Some more statements...
} finally {
try {
if (osw1 != null)
osw1.close();
if (osw2 != null)
osw2.close();
} catch (Exception e) {
// Ignore
}
}
Я хотел бы очистить код, но не могу напрямую заменить внешнюю try
используйте try-with-resources, когда переменные osw1 и osw2 изменяются, чтобы ссылаться на разные объекты внутри блока. Можете ли вы предложить какие-либо предложения?