type = \get_class($exception); $this->message = $exception->getMessage(); $this->code = $exception->getCode(); $this->trace = $exception->getTraceAsString(); } public function promise(): Promise { return new Failure(new TaskException( $this->type, sprintf('Uncaught exception in worker of type "%s" with message "%s"', $this->type, $this->message), $this->code, $this->trace )); } }