Страницы

Поиск по вопросам

понедельник, 1 октября 2018 г.

Выполняется ли finally если в try return?

try{
... return qwe;}catch{...} finally{...} Выполняется ли finally если в try есть return?


Ответ

Конечно. На то он и finally. Правда результат может немного озадачить. import java.util.*; import java.lang.*;
class Main { public static int test() { try { System.out.println("test"); return 1; } finally { System.out.println("fin"); return 2; } //return 3; } public static void main (String[] args) throws java.lang.Exception { int i = test(); System.out.println("test return " + i); } } вывод будет такой: test fin test return 2 а вот строку с return 3; не даст раскомментировать компилятор.

Комментариев нет:

Отправить комментарий