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 остаются необработанные ошибки — деструктор сигнализирует об этом. Ошибки считаются обработанными, если:
all()вызван сignoreErrors: false(по умолчанию) и бросилCompositeException- Вызван
suppressErrors() - Ошибки обработаны через итератор (
foreach)
См. также
- TaskGroup::getResults — Получить массив результатов
- TaskGroup::suppressErrors — Пометить ошибки как обработанные
- TaskGroup::all — Дождаться всех задач