在线文档教程
PHP
类和函数 | Classes and Functions

Generator::throw

Generator::throw

(PHP 5 >= 5.5.0, PHP 7)

Generator :: throw - 向生成器中置入一个特例

描述

public mixed Generator::throw ( Throwable $exception )

向生成器中引发异常并恢复生成器的执行。行为将与当前的yield表达式被throw $ exception语句替换时相同。

如果在调用此方法时生成器已关闭,则将在调用者的上下文中抛出异常。

参数

exception

置入发生器的特例。

返回值

返回已产生的值。

更新日志

VersionDescription
7.0.0The exception parameter also accepts Throwable now.

例子

示例#1将异常投入到生成器中

<?php function gen() {     echo "Foo\n";     try {         yield;     } catch (Exception $e) {         echo "Exception: {$e->getMessage()}\n";     }     echo "Bar\n"; }   $gen = gen( $gen->rewind( $gen->throw(new Exception('Test') ?>

上面的例子将输出:

Foo Exception: Test Bar

← Generator::send

Generator::valid →