Sobes.tech
Junior — Senior
49

Определение порядка вызова методов close() в блоке try‑with‑resources

Условие задачи

Дано объявление трёх ресурсов R1, R2 и R3. Требуется объяснить следующее:

  • В каком порядке будет выполнен вызов close() для указанных ресурсов?
  • Когда именно начинается процесс закрытия: до выхода из блока try или после него?
  • Как будет вести себя механизм, если один из методов close() бросит исключение?
try (R1 r1 = ...; R2 r2 = ...; R3 r3 = ...) {
    ...
}