Fiber::throw

(PHP 8 >= 8.1.0)

Fiber::throwSetzt die Ausführung einer Fiber mit einer Exception fort

Beschreibung

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

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.

Parameter-Liste

exception

Die Exception vom aktuellen Fiber::suspend()-Aufruf, die in die Fiber geworfen wird.

Rückgabewerte

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.

Beispiele

<?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