Попытка с ресурсами инициализировать в ноль

Я рефакторинг некоторого старого кода, который выглядит следующим образом:

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 изменяются, чтобы ссылаться на разные объекты внутри блока. Можете ли вы предложить какие-либо предложения?

0 ответов

Другие вопросы по тегам