Выбор ответа Middle Исключения и ошибки обновлено
return в try и finally
Вопрос
Что вернёт функция?
function f(): string {
try {
return "try";
} finally {
return "finally";
}
}
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: "finally". В PHP finally выполняется после return в try, и если в finally есть свой return, он перекрывает предыдущий.
Варианты ответа
"try"null"finally"правильный ответ- Будет ошибка:
returnвfinallyзапрещён
Разбор
В PHP finally выполняется после return в try, и если в finally есть свой return, он перекрывает предыдущий. Функция вернёт "finally". Так же return в finally молча «съедает» брошенное исключение. Это законно, но почти всегда ошибка, анализаторы предупреждают.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.