output->write(json_encode([ 'successful' => true, 'result' => serialize($this->laravel->call(match (true) { ! is_null($this->argument('code')) => unserialize($this->argument('code')), isset($_SERVER['LARAVEL_INVOKABLE_CLOSURE']) => unserialize($_SERVER['LARAVEL_INVOKABLE_CLOSURE']), default => fn () => null, })), ])); } catch (Throwable $e) { report($e); $reflection = new ReflectionClass($e); $constructor = $reflection->getConstructor(); $parameters = []; if ($constructor) { $declaringClass = $constructor->getDeclaringClass()->getName(); if ($declaringClass === $reflection->getName()) { foreach ($constructor->getParameters() as $parameter) { $parameters[$parameter->name] = $e->{$parameter->name} ?? null; } } } $this->output->write(json_encode([ 'successful' => false, 'exception' => get_class($e), 'message' => $e->getMessage(), 'file' => $e->getFile(), 'line' => $e->getLine(), 'parameters' => $parameters, ])); } } }