Laravel 8 处理程序未定义 class 'Exception'

Laravel 8 Handler Undefined class 'Exception'

我在 API Laravel 项目工作并尝试处理 "message": "没有模型ID的查询结果" 和第 404 页

我使用了这个功能,但是在 API 中没有发送任何东西,并且对 404 页面没有影响

namespace App\Exceptions;

use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Throwable;
use Illuminate\Database\Eloquent\ModelNotFoundException;

class Handler extends ExceptionHandler
{

public function render($request, Exception $e)
    {
        // "message": "No query results for model ID" in API
        if ($e instanceof ModelNotFoundException) {
            return response()->json(['error' => 'Data not found.']);
        }

        if($this->isHttpException($e))
        {
            switch ($e->getStatusCode())
            {
                // not found
                case 404:
                    return redirect()->guest('home');
                    break;

                // internal error
                case '500':
                    return redirect()->guest('home');
                    break;

                default:
                    return $this->renderHttpException($e);
                    break;
            }
        }
        else
        {
            return parent::render($request, $e);
        }
    }

}

使用 Throwable 而不是 Exception

public function render($request, Throwable $e)
    {
        // "message": "No query results for model ID" in API
        if ($e instanceof ModelNotFoundException) {
            return response()->json(['error' => 'Data not found.']);
        }
        return parent::render($request, $e);
    }