/**
* Return root wrapper generator.
* @param mixed $throw
* @param mixed $value
* @param mixed &$return
*/
private function getRootGenerator($throw, $value, &$return)
{
try {
if ($throw !== null) {
$key = $throw ? null : CoInterface::SAFE;
} else {
$key = $this->options['throw'] ? null : CoInterface::SAFE;
}
$return = (yield $key => $value);
return;
} catch (\Throwable $e) {
} catch (\Exception $e) {
}
$this->pool->reserveHaltException($e);
}