|
@@ -3,7 +3,10 @@
|
|
|
namespace App\Exceptions;
|
|
|
|
|
|
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
|
|
+use Illuminate\Support\Arr;
|
|
|
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
|
|
use Throwable;
|
|
|
+use Facade\Ignition\Exceptions\ViewException;
|
|
|
|
|
|
class Handler extends ExceptionHandler
|
|
|
{
|
|
@@ -50,9 +53,27 @@ class Handler extends ExceptionHandler
|
|
|
*/
|
|
|
public function render($request, Throwable $exception)
|
|
|
{
|
|
|
- if ($exception instanceof \Facade\Ignition\Exceptions\ViewException) {
|
|
|
- abort(501, '主题初始化发生错误,请在后台对主题检查或配置后重试。');
|
|
|
+ if ($exception instanceof ViewException) {
|
|
|
+ return response([
|
|
|
+ 'message' => "主题初始化发生错误,请在后台对主题检查或配置后重试。"
|
|
|
+ ]);
|
|
|
}
|
|
|
return parent::render($request, $exception);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ protected function convertExceptionToArray(Throwable $e)
|
|
|
+ {
|
|
|
+ return config('app.debug') ? [
|
|
|
+ 'message' => $e->getMessage(),
|
|
|
+ 'exception' => get_class($e),
|
|
|
+ 'file' => $e->getFile(),
|
|
|
+ 'line' => $e->getLine(),
|
|
|
+ 'trace' => collect($e->getTrace())->map(function ($trace) {
|
|
|
+ return Arr::except($trace, ['args']);
|
|
|
+ })->all(),
|
|
|
+ ] : [
|
|
|
+ 'message' => $this->isHttpException($e) ? $e->getMessage() : __("Uh-oh, we've had some problems, we're working on it."),
|
|
|
+ ];
|
|
|
+ }
|
|
|
}
|