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