Prado\Web\UI\ActiveControls\TCallbackErrorHandler::displayException PHP Метод

displayException() защищенный Метод

A HTTP 500 status code is sent and the stack trace is sent as JSON encoded.
protected displayException ( $exception )
    protected function displayException($exception)
    {
        if ($this->getApplication()->getMode() === TApplication::STATE_DEBUG) {
            $response = $this->getApplication()->getResponse();
            $trace = $this->getExceptionStackTrace($exception);
            // avoid error on non-utf8 strings
            try {
                $trace = TJavaScript::jsonEncode($trace);
            } catch (Exception $e) {
                // strip everythin not 7bit ascii
                $trace = preg_replace('/[^(\\x20-\\x7F)]*/', '', serialize($trace));
            }
            // avoid exception loop if headers have already been sent
            try {
                $response->setStatusCode(500, 'Internal Server Error');
            } catch (Exception $e) {
            }
            $content = $response->createHtmlWriter();
            $content->getWriter()->setBoundary(TActivePageAdapter::CALLBACK_ERROR_HEADER);
            $content->write($trace);
        } else {
            error_log("Error happened while processing an existing error:\n" . $exception->__toString());
            header('HTTP/1.0 500 Internal Server Error', true, 500);
        }
        $this->getApplication()->getResponse()->flush();
    }