Главная > Java | Java labs > Java: return в finally блоке

Java: return в finally блоке

13.06.2012 0 коммент. » Просмотры: 1 879

Сегодня прочитал в книжке Хорстмана и Корнелла о порядке выполнения операций при перехвате исключений. И это побудило меня, оставить эту заметку..

Рассмотрим такой пример:

Результат:

А что ожидали Вы?

Ситуация интересна тем, что finally блок выполняется, после оператора return в любом случае. Именно поэтому вместо 1, мы получили 0. Т.е. вначале отработал "первый" return, а после этого его "перезаписал" второй return который находится в секции finally. На мой взгляд, такая ошибка, может заставить понервничать, при её поиске.

Автор: | Рейтинг: 4/5 | Теги:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Разрешены HTML-теги: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>