(PHP 8 >= 8.1.0)
Fiber::throw — Setzt die Ausführung einer Fiber mit einer Exception fort
Setzt eine Fiber fort, indem es die Exception des aktuellen Fiber::suspend()-Aufrufs wirft.
Wenn die Fiber zum Zeitpunkt des Aufrufs dieser Methode nicht unterbrochen ist, wird ein FiberError geworfen.
exceptionDie Exception vom aktuellen Fiber::suspend()-Aufruf, die in die Fiber geworfen wird.
Gibt den Wert zurück, der dem nächsten Aufruf von
Fiber::suspend() übergeben wird, oder null, wenn
die Fiber einen Rückgabewert liefert. Wenn die Fiber eine Exception wirft,
bevor sie unterbrochen wird, wird diese beim Aufruf dieser Methode geworfen.
<?php
$fiber = new Fiber(function () {
try {
// Unterbricht die Ausführung der Fiber und deklariert dabei einen Unterbrechungspunkt
Fiber::suspend();
} catch (Throwable $e) {
echo $e->getMessage();
}
});
$fiber->start();
// Setzt die Ausführung der Fiber fort und übergibt
// die Exception, die am aktuellen Unterbrechungspunkt geworfen werden soll
$fiber->throw(new Exception('Message of an exception thrown at the current interrupt point'));
?>Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
Message of an exception thrown at the current interrupt point