Задать вопрос
alestro
@alestro

Как реализовать вывод ошибок в php?

Есть некий ErrorHandler который отлавливает ошибки, формирует ответ и отправляет его броузеру.
try{
$response = $requestHandler->handler($request);
send($response);
} catch(Throwable $e){
$errorHandler->handle($e);
}

Если ошибка не связана с отправкой ответа, то все кашерно, в броузер улетают заговки и тело ответа, но если ошибка связанна с отправкой самого ответа, чаще всего если до это где-то уже был вывод и следовательно улетели заголовки. В таком случае приходится повторно отлавливать эксепшен и выводить только тело ответа. Насколько такой подход удачный и мож но ли сделать более кашерно?
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@dedalqq
Если вы отправили заголовки то все, ничего уже не изменить. По этому остается только в начале полностью обработать запрос пользователя, и потом формировать ответ и, как варинт, просто буфиризировать в переменную (это если в лоб). После этого уже отдавать заголовки и тело страницы из буфера (так как тут точно ошибок, заставляющих менять тело ответа не будет) А вообще, видимо вы не разделяете бизнес логику и формирование ответа. Формирование конечной страницы не должно быть написано так, что вызывает ошибки. Хорошей практикой избежание этого перемешивание может быть использование шаблонизаторов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы