не переводите стрелки... я говорил про конструкцию WHILE
И в мыслях не было.
Что касается блока WHILE, то секция ELSE больше относится к синтаксическому сахару, позволяя объединить в одну конструкцию логически связанный код. Когда после цикла обычно ставится проверка условия для того, чтобы определить, достигли мы результата в цикле или нет, логично эту часть поместить в блок цикла, потому что это логически связанные участки кода. Эта конструкция позаимствована из Графического Паскаля ( графический не от слова графика, а от слова граф ) для ДВК и других машин с ОС RT-11,, в котором конструкции WHILE и FOR были именно в таком виде, не в виде текста, там был специальный редактор, а в иде графа - вообще хорошая была разработка, жаль всё вместе со страной уничтожили.
А раз у нас в WHILE появляется секция ELSE, то логично и секцию финализации CLOSE поместить в этот блок, чтобы иметь возможность выполнить завершающие операции или просто один и тот же код для разных секций, а также организовать обработку ошибок в одном месте, потому что секция CLOSE позволяет либо перехватить обработку исключений ( с соответствующим модификатором ), либо ( без модификатора) просто выполнить завершающие операции после завершения стандартной обработки.
Т.е. в итоге получается замкнутый, логически целостный блок.