English | 简体中文 | 繁體中文
查询

Generator::throw()函数—用法及示例

「 在生成器中抛出一个异常 」


函数名:Generator::throw()

适用版本:PHP 5 >= 5.5.0, PHP 7

用法: Generator::throw() 方法用于在生成器中抛出一个异常。它允许在生成器的当前位置抛出异常,并在生成器的控制流中进行异常处理。

语法:

public void Generator::throw ( Throwable $exception )

参数:

  • $exception:必需,要抛出的异常对象,必须是 Throwable 类的实例或其子类的实例。

返回值:

  • 无返回值。

示例:

function myGenerator() {
    yield 1;
    yield 2;
    yield 3;
}

$generator = myGenerator();

foreach ($generator as $value) {
    try {
        if ($value == 2) {
            $generator->throw(new Exception('Value cannot be 2'));
        }
        echo $value . " ";
    } catch (Exception $e) {
        echo $e->getMessage() . " ";
    }
}

输出:

1 Value cannot be 2 3

解释: 在上面的示例中,我们定义了一个生成器函数 myGenerator(),它会生成数字 1、2 和 3。在 foreach 循环中,当遍历到值为 2 的时候,我们使用 Generator::throw() 方法抛出了一个异常。异常被捕获并输出了异常消息。因此,最终的输出结果是 1 Value cannot be 2 3

补充纠错
上一个函数: GearmanWorker::clone()函数
下一个函数: Generator::send()函数
热门PHP函数
分享链接