public function actionError()
{
if (($exception = Yii::$app->getErrorHandler()->exception) === null) {
return '';
}
if ($exception instanceof HttpException) {
$code = $exception->statusCode;
} else {
$code = $exception->getCode();
}
if ($exception instanceof Exception) {
$name = $exception->getName();
} else {
$name = Yii::t('yii', 'Error');
}
if ($code) {
$name .= " (#{$code})";
}
if ($exception instanceof \Exception) {
$message = $exception->getMessage();
} else {
$message = Yii::t('yii', 'An internal server error occurred.');
}
if (Yii::$app->getRequest()->getIsAjax()) {
static::renderJson([], $code ?: -1, $message);
} else {
return $this->render('error', ['name' => $name, 'message' => $message, 'exception' => $exception]);
}
}