TaskGroup::getErrors

(PHP 8.6+, True Async 1.0)

public TaskGroup::getErrors(): array

返回失败任务的异常(Throwable)数组。 数组的键与 spawn()spawnWithKey() 中的任务键一致。

此方法不会等待任务完成 — 它只返回调用时已有的错误。

返回值

array<int|string, Throwable>,其中键是任务标识符,值是异常。

示例

示例 #1 查看错误

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawnWithKey('api', function() {
        throw new \RuntimeException("Connection timeout");
    });
    $group->spawn(fn() => "ok");

    $group->seal();
    $group->all(ignoreErrors: true);

    foreach ($group->getErrors() as $key => $error) {
        echo "$key: {$error->getMessage()}\n";
    }
    // api: Connection timeout

    $group->suppressErrors();
});

未处理的错误

如果 TaskGroup 销毁时仍有未处理的错误,析构函数会发出信号。 以下情况视为错误已被处理:

参见