(PHP 8 >= 8.1.0)
Fiber::throw — Reanuda la ejecución de la fibra con una excepción
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.
exceptionLa excepción a lanzar en la fibra desde la llamada Fiber::suspend() en curso.
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.
<?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