public function actionError()
{
if (Yii::$app->user->isGuest) {
$this->layout = 'simple';
}
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 = '错误';
}
if ($code) {
$name .= " (#{$code})";
}
if ($exception instanceof UserException) {
$message = $exception->getMessage();
} else {
$message = '服务器错误!';
}
if (Yii::$app->getRequest()->getIsAjax()) {
return "{$name}: {$message}";
} else {
return $this->render('error', ['name' => $name, 'message' => $message, 'exception' => $exception]);
}
}