Выбор ответа Senior Исключения и ошибки обновлено
Глобальная обработка исключений
Вопрос
Что делает set_exception_handler?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Задаёт функцию для непойманных исключений, затем скрипт завершается. Обработчик вызывается для исключения, которое никто не поймал, и после него выполнение скрипта прекращается.
Варианты ответа
- Перехватывает все исключения, даже уже пойманные блоками
catch - Превращает предупреждения и нотисы в исключения
ErrorException - Позволяет продолжить выполнение со следующей строки после броска
- Задаёт функцию для непойманных исключений, затем скрипт завершаетсяправильный ответ
Разбор
Обработчик вызывается для исключения, которое никто не поймал, и после него выполнение скрипта прекращается. Пойманные исключения до него не доходят. Предупреждения в исключения превращает set_error_handler. Продолжить выполнение с места броска нельзя. Во фреймворках эту роль играет свой обработчик (Laravel Handler, Symfony kernel.exception), который рендерит ответ и пишет лог.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.