Fiber::throw

(PHP 8 >= 8.1.0)

Fiber::throwReanuda la ejecución de la fibra con una excepción

Descripción

public function Fiber::throw(Throwable $exception): mixed

Reanuda la fibra lanzando la excepción dada desde la llamada Fiber::suspend() en curso.

Si la fibra no está suspendida cuando se llama a este método, se emitirá una excepción FiberError.

Parámetros

exception

La excepción a lanzar en la fibra desde la llamada Fiber::suspend() en curso.

Valores devueltos

El valor proporcionado en la próxima llamada a Fiber::suspend() o null si la fibra retorna. Si la fibra lanza una excepción antes de suspenderse, será emitida al llamar a este método.

Ejemplos

<?php

$fiber
= new Fiber(function () {
try {
// Suspende la ejecución de la fibra declarando un punto de interrupción
Fiber::suspend();
} catch (
Throwable $e) {
echo
$e->getMessage();
}
});

$fiber->start();

// Reanuda la ejecución de la fibra pasando
// la Excepción a lanzar en el punto de interrupción
$fiber->throw(new Exception('Mensaje de una excepción lanzada en el punto de interrupción actual'));

?>

Resultado del ejemplo anterior es similar a:

Mensaje de una excepción lanzada en el punto de interrupción actual