12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <?php
- 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
- {
- /**
- * A list of the exception types that are not reported.
- *
- * @var array
- */
- protected $dontReport = [
- //
- ];
- /**
- * A list of the inputs that are never flashed for validation exceptions.
- *
- * @var array
- */
- protected $dontFlash = [
- 'password',
- 'password_confirmation',
- ];
- /**
- * Report or log an exception.
- *
- * @param \Throwable $exception
- * @return void
- *
- * @throws \Throwable
- */
- public function report(Throwable $exception)
- {
- parent::report($exception);
- }
- /**
- * Render an exception into an HTTP response.
- *
- * @param \Illuminate\Http\Request $request
- * @param \Throwable $exception
- * @return \Symfony\Component\HttpFoundation\Response
- *
- * @throws \Throwable
- */
- public function render($request, Throwable $exception)
- {
- 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."),
- ];
- }
- }
|