Junior — Senior
49
Определение порядка вызова методов close() в блоке try‑with‑resources
Условие задачи
Дано объявление трёх ресурсов R1, R2 и R3. Требуется объяснить следующее:
- В каком порядке будет выполнен вызов close() для указанных ресурсов?
- Когда именно начинается процесс закрытия: до выхода из блока try или после него?
- Как будет вести себя механизм, если один из методов close() бросит исключение?
try (R1 r1 = ...; R2 r2 = ...; R3 r3 = ...) {
...
}