(PHP 8 >= 8.1.0)
Fiber::throw — Reprend l'exécution de la fibre avec une exception
Reprend la fibre en lançant l'exception donnée à partir de l'appel Fiber::suspend() en cours.
Si la fibre n'est pas suspendue lorsque cette méthode est appelée, une exception FiberError sera émise.
exceptionL'exception à lancer dans la fibre à partir de l'appel Fiber::suspend() en cours.
La valeur fournie au prochain appel à Fiber::suspend() ou null si la fibre retourne.
Si la fibre lance une exception avant de se suspendre, elle sera émise lors de l'appel à cette méthode.
<?php
$fiber = new Fiber(function () {
try {
// Suspend l'exécution de la fibre en déclarant un point d'interruption
Fiber::suspend();
} catch (Throwable $e) {
echo $e->getMessage();
}
});
$fiber->start();
// Reprend l'exécution de la fibre en
// passant l'Exception à lancer au point d'interruption
$fiber->throw(new Exception('Message d\'une exception lancée au point d\'interruption courant'));
?>Résultat de l'exemple ci-dessus est similaire à :
Message d'une exception lancée au point d'interruption courant