--TEST-- A pipe interrupted by an exception, to demonstrate correct order of execution. --FILE-- (bar() ? baz(...) : quux(...)) |> var_dump(...); } catch (Throwable $e) { echo $e::class, ": ", $e->getMessage(), PHP_EOL; } try { $result = foo() |> (throw new Exception('Break')) |> (bar() ? baz(...) : quux(...)) |> var_dump(...); } catch (Throwable $e) { echo $e::class, ": ", $e->getMessage(), PHP_EOL; } ?> --EXPECTF-- foo bar quux Exception: Oops foo Exception: Break