Java return в finally после return

Вот такое вот замысловатое название статьи. Небольшая заметка, чтобы не забыть.

Код 1:

Но если уберём эту строчку, то получим код 2:

Теперь этот код уже сработает. Причём на экран выведет цифру 2, так как return 2  в finally  перезапишет первоначальный результат.

Теперь ещё более сложный вариант:

Здесь уже результатом будет число 3. Сначала при делении на 0 бросается исключение. Мы его перехватываем и возвращаем из функции 2. Затем отрабатывает finally, который переопределяет результат на 3.

Зачем стоит знать подобные штучки? Заковырки наподобие этого очень любят задавать на собеседованиях. В реальной же разработке они вам никогда не пригодятся. Оба кода представляют из себя просто ужасный стиль программирования. Более полезную информацию про try-catch  можно прочесть в статье «Java 8 исключения».

 

Один комментарий к “Java return в finally после return”

  1. > Заковырки наподобие этого очень любят задавать на собеседованиях. В реальной же разработке они вам никогда не пригодятся.

    И после этого продолжают нагло врать про «дефицит программистов», не краснея.

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

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