Выбор ответа Senior Исключения и ошибки обновлено

Глобальная обработка исключений

Вопрос

Что делает set_exception_handler?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Задаёт функцию для непойманных исключений, затем скрипт завершается. Обработчик вызывается для исключения, которое никто не поймал, и после него выполнение скрипта прекращается.

Варианты ответа

  1. Перехватывает все исключения, даже уже пойманные блоками catch
  2. Превращает предупреждения и нотисы в исключения ErrorException
  3. Позволяет продолжить выполнение со следующей строки после броска
  4. Задаёт функцию для непойманных исключений, затем скрипт завершаетсяправильный ответ

Разбор

Обработчик вызывается для исключения, которое никто не поймал, и после него выполнение скрипта прекращается. Пойманные исключения до него не доходят. Предупреждения в исключения превращает set_error_handler. Продолжить выполнение с места броска нельзя. Во фреймворках эту роль играет свой обработчик (Laravel Handler, Symfony kernel.exception), который рендерит ответ и пишет лог.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.