Main > Java | Java labs > Java: return в finally блоке

Java: return в finally блоке

13.06.2012 0 comments » Views: 1,882

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

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

Результат:

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

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

Author: | Rating: 4/5 | Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *

Allowed HTML-tags: <a>, <code>, <i>, <em>, <strong>, <b>, <u>, <strike>