Что будет если блок finally выбросит ошибку?
Как известно, последовательность операций, записанная finally, должна выполняется в любом случае, независимо от того появлялась ли ошибка в try.
Если ошибки в try не возникало, то при появлении его в finally оно пойдёт по стеку исключений, до тех пор, пока не придёт в catch.
Более интересен случай, когда исключение было в try, а потом возникло и в finally. Тогда исключение, возникшее в finally, перекроет исключение из блока try, и пойдёт по стеку. Начальная ошибка будет потеряна.
Это усложняет отладку.
Учитесь как в игре
Обучающая платформа AndroidSprint
Уровни, XP, достижения и рейтинги. Увидите прогресс каждый день — мотивация не пропадает даже через месяцы обучения
- Геймификация: уровни, опыт, достижения — как в игре, но навыки реальные
- Карта навыков: визуальный прогресс по каждой технологии — видите, что освоили
- Рейтинги: сравнивайте себя с другими студентами — здоровая конкуренция