Commit 767a78f8 by Alexander Makarov

better handling of errors during rendering an error

parent 2a12fdbc
...@@ -411,7 +411,7 @@ class Application extends Module ...@@ -411,7 +411,7 @@ class Application extends Module
error_log($exception); error_log($exception);
if (($handler = $this->getErrorHandler()) !== null) { if (($handler = $this->getErrorHandler()) !== null) {
@$handler->handle($exception); $handler->handle($exception);
} else { } else {
$this->renderException($exception); $this->renderException($exception);
} }
......
...@@ -81,19 +81,22 @@ class ErrorHandler extends Component ...@@ -81,19 +81,22 @@ class ErrorHandler extends Component
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') { if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest') {
\Yii::$app->renderException($exception); \Yii::$app->renderException($exception);
} else { } else {
try { if(YII_DEBUG) {
$view = new View; ini_set('display_errors', 1);
if (!YII_DEBUG || $exception instanceof UserException) {
$viewName = $this->errorView;
} else {
$viewName = $this->exceptionView;
}
echo $view->renderFile($viewName, array(
'exception' => $exception,
), $this);
} }
catch (\Exception $e) {
\Yii::$app->renderException($e); $view = new View;
if (!YII_DEBUG || $exception instanceof UserException) {
$viewName = $this->errorView;
} else {
$viewName = $this->exceptionView;
}
echo $view->renderFile($viewName, array(
'exception' => $exception,
), $this);
if(YII_DEBUG) {
ini_set('display_errors', 0);
} }
} }
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment