Выполняется ли finally

Рейтинг: 0Ответов: 2Опубликовано: 13.04.2015

Выполняется ли блок finally если будет sendredirect и return?

try {
    response.sendRedirect(session.getAttribute("site") + "/jsp/process/payment.jsp?oid=" + session.getAttribute("OrderID") + "&term=" + session.getAttribute("MerchantID"));
    return;
} finally {

}

Ответы

▲ 8Принят

finally не выполняется только в случаях:

  1. Вызова System.exit()
  2. Прерывания текущий потока другим потоком
  3. Падения JVM.
public static int getANumber(){
    try{
        return 7;
    } finally {
        return 43;
    }
}

Вызов метода getANumber() вернет 43.

▲ 2

блок finally выполняется перед выражением returnблока try если в блоке finally имеется выражение return- returnблока try игнорируется